Я использую 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
для выполнения нескольких запросов.