2011-10-31 6 views
0

レール3では、アクティブなレコードのwhereステートメントはアクティブなレコードオブジェクトを返します。すなわち、それはrails 3 where文

cars = Car.where(:colour => 'black') # No Query 
cars.each {|c| puts c.name } # Fires "select * from cars where ..." 

が、私は火災、コンソールで

cars = Car.where(:colour => 'black') 

を同様に遅延ロードを使用して、それがこの遅延読み込み理由なしに結果を返しますか?

答えて

1

コンソールは暗黙的に式の結果に対してinspectを呼び出し、クエリをトリガーします。私はそれが `追加する方が良いでしょうことをお勧めしたい

cars = Car.where(:colour => 'black'); 
+1

を、一般的な慣行としてnil':

あなたはセミコロンを追加して検査を回避することができます。 ';'は次の文が入力されるまでコードを実行しません。 –

+0

its working.thanks –