我正在使用 Rails 3.2.0
假设我有:
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
特别是,当用于连接多个查询时,这会破坏构建延迟加载的查询。