我覺得這是一個簡單的問題,由於我對新的ActiveRecord查詢接口的誤解,但以此爲例:Rails 3,Active Record查詢返回ActiveRecord :: Relation對象,而不是對象
>> Category.first.recipes
=> [ ... ] # array of recipes
但是:
>> Category.where(:id => 1).recipes
=> NoMethodError: undefined method `recipes' for #<ActiveRecord::Relation:0x000001033dc9e0>
這是怎麼回事嗎?爲什麼我的where
方法返回一個ActiveRecord::Relation
對象?我該如何從查詢中檢索對象?
投下來,因爲它不等效。 'where'返回ActiveRecord :: Relation,其餘返回Array或Model.class – 2010-12-26 12:20:02
它在上下文中是等價的。這就是爲什麼我提到懶加載。但是,「.where.all」是等同的。 – Swanand 2010-12-27 05:02:55