有没有获取Active Relation查询中包含的所有对象的方法? 事情是这样的:获取集合中包含的所有Active Record对象
def index
@items = Item.all.includes(:comments)
@comments = @items.comments // No such method for AR Collection :(
end
最明显的方式来获得在这种情况下,所有的项目是:
@comments = @items.map(&:comments).flatten.uniq
由于使用.includes(:comments)
应该没有N + 1个查询,但我担心此代码的性能。是否有任何内置或更有效的方法来获取所有收录记录?
你为什么要在一个单独的对象'@ comments'所有评论?你打算如何准确使用它? – Surya
这实际上取决于你打算用'@ comments'做什么 - 你需要以特定的顺序吗? – max