有没有办法获取Active Relation查询中包含的所有对象? 像这样:
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个查询,但我担心此代码的性能。是否有任何内置或更有效的方法来获取所有收集的记录?
答案 0 :(得分:0)
您可以请求以下评论:
@comments = Comment.where(item_id: Item.pluck(:id))