2011-10-31 77 views
0

在rails 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

其working.thanks –