[解決済み] Rubyで.exists?と.present?を使うことの違いは何ですか?
2022-03-08 15:56:34
質問
正しい使い方をしたいのですが、何か微妙な点があれば教えてください。 コンソールから使っても、オブジェクトフィールドが定義されているかどうかを確認するという機能は同じようで、ネットでググってもあまり情報がないのです。ありがとうございます。
解決方法は?
明確にするために:どちらも
present?
また
exists?
はquot;pure"rubyで、どちらもRailsランドから来たものです。
プレゼント?
present?
は、ActiveSupportの拡張機能である
Object
. これは通常、オブジェクトの一般的な虚偽性をテストするために使用されます。由来
ドキュメント
:
オブジェクトは
present
でない場合はblank?
. オブジェクトはblank
であればfalse
または空白文字列です。
だから、例えば
[ "", " ", false, nil, [], {} ].any?(&:present?)
# => false
が存在するか?
exists?
はActiveResourceからです。からです。
そのドキュメント
:
リソースの存在を主張し、リソースが見つかればtrueを返す。
Note.create(:title => 'Hello, world.', :body => 'Nothing more for now...')
Note.exists?(1) # => true
関連
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み] イコール、エクル、==、==の違いは何ですか?
-
[解決済み] Rubyのincludeとrequireの違いは何ですか?
-
[解決済み] Rubyのmapとcollectの違い?
-
[解決済み] RailsのERBにおける<%、<%=、<%#、-%>の違いは何ですか?
-
[解決済み】Rubyのincludeとextendの違いって何?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] AWS S3です。アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレスされている必要があります。
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Rubyでnilとemptyとblankを理解する方法