各Product
には、description
という文字列(説明がない場合は)などのいくつかのフィールドがあります。シンプルレール3の質問:製品に説明があるかどうかを確認するには?
Product
が空ではない説明が1つ以上あるかどうかを調べる最も簡単な方法は何ですか?
non_empty_description_exist = Product.<what should be here?>
各Product
には、description
という文字列(説明がない場合は)などのいくつかのフィールドがあります。シンプルレール3の質問:製品に説明があるかどうかを確認するには?
Product
が空ではない説明が1つ以上あるかどうかを調べる最も簡単な方法は何ですか?
non_empty_description_exist = Product.<what should be here?>
Product.all.any? { |product| product.description.present? }
Product.count(:conditions => "description IS NOT NULL")
null値が許可されている場合。 商品の総数が表示されます。
最初の商品自体に説明が必要な場合は、カウントの代わりに最初に使用してください。
これはデータアクセスの観点からはるかに重要です。受け入れられた答えは、コレクション全体が既にロードされている場合にのみ有効です。この場合、パフォーマンスのペナルティはアプリケーションの他の場所にあります。 –
モデル名Productに基づいて、製品コレクション全体が一度に読み込まれるべきではないと推測しました。 – Sigurd
ありがとうございました! –
それはあまりにも危険なフォームのパフォーマンスの観点です。それは、すべてのProudctレコードをDBに取り込み、オブジェクトにマッピングし、説明なしで拒否するだけです.IMHOは膨大なオーバーヘッドです – Sigurd
私は同意します。答えはc0r0nerで提供されています。 – iain