5

私の協会は次のようなものです:

vendor has shipments  
shipment has order
order has products

私のコントローラーでは、私は次のように書いています

@shipments = @vendor.shipments.includes(:order)

しかし、私の見解では、私はのように使用しています

shipment.order.products.collect(&:name)

したがって、Rails 'bullet' gem による N+1 クエリの問題が返されます

ネストされたN + 1クエリの問題のこの問題を解決するのを手伝ってくれる人はいますか? コントローラにどのように書き込む必要がありますか?

4

1 に答える 1

9
@shipments = @vendor.shipments.includes(:order => :products)

動作するはずです。詳細については、こちらをご覧ください http://guides.rubyonrails.org/active_record_querying.html#nested-associations-hash

于 2012-11-27T12:43:33.743 に答える