【发布时间】:2019-04-01 23:44:02
【问题描述】:
在我的 rails 应用程序中,我有一个 User 模型,其方法名为 price_tier:
def price_tier
Spree::PriceTier.by_code[read_attribute(:price_tier)]
end
但是,当我有一个 @users 的集合并一个一个调用 price_tier 时,它将为每个实例加载 PriceTier 查询,这会导致 N+1 问题。
includes 在这里不起作用,因为它不是一个关联。
@users.map { |user| user.price_tier }
有没有办法修改修复N+1问题的代码?
【问题讨论】:
-
user 和 price_tier 有什么关系?
-
@Subash 它将通过代码搜索
price_tier。user.price_tier == price_tier.code。但是没有has_many等关联。
标签: ruby-on-rails select-n-plus-1