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 Query 问题

有人帮我解决嵌套 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 回答