有沒有獲取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