我用Rails 3.2.0爲什麼Rails模型關聯結果不是自然的ActiveRecord :: Relations?
比方說,我有:
class Comment < ActiveRecord::Base
has_many :articles
end
c1 = Comment.last
然後
c1.articles.class
# => Array
c1.articles.where('id NOT IN (999999)').class
# => ActiveRecord::Relation
爲什麼是一個關聯的結果不一種類型的ActiveRecord::Relation
?
它清楚地是/是在一些點:
c1.articles.to_orig
# undefined method `to_orig' for #<ActiveRecord::Relation:0x007fd820cc80a8>
c1.articles.class
# => Array
某些評估作用在一個ActiveRecord :: Relation對象,但檢查類給出了不同的類型。
特別是,這打破了使用merge
時Concat的多個查詢構建延遲加載查詢。
什麼版本的Rails? –
@AndrewMarshall 3.2.0 –
如果我沒記錯的話,類方法對你說謊 - 它是委託給目標,這是一個數組 –