我有一个控制器可以找到 1 条记录(它的 uniq)
class CollectionsController < ApplicationController
def show
@collection = Collection.find_by_active(true)
end
end
这个“@collection”有很多:items,其中有很多:photos
因此,鉴于它看起来像这样:
- @collection.items.each do |item|
= image_tag item.find_active_photo.image_url(:small)
它会重现一堆 SQL 查询,例如如果 item 有 4 张照片,它将是 6 个查询:
Collection Load
CollectionItem Load
Photo Load (4 times)
如何减少此 N+1 查询的数量?