【发布时间】:2011-09-24 13:43:59
【问题描述】:
我有一个获取以下数据的声明:food-serving-name、food-name、food-brand-name 和 food-category。并且所有四个字段都在不同的表中。我正在使用这样的语句
@food_servings = FoodServing.find(params[:food_serving_id],
:include => {:food => [:food_brand,:food_category] })
下面是我的模型
FoodServing belongs_to Food
Food belongs_to FoodCategory
Food belongs to FoodBrand
当我执行上述语句时,我可以在日志中看到许多 SQL 语句正在执行,显然这是 N+1 问题,我想我传递了不正确的包含参数来查找方法。谁能帮我优化这个调用?
【问题讨论】:
-
您需要发布您的实际日志输出。
标签: ruby-on-rails activerecord select-n-plus-1