【发布时间】:2018-09-04 05:33:54
【问题描述】:
我有 has_many_association 表。例如用户 has_many 订阅。在活动管理员的索引页面上,我显示了多个计算字段,我需要为其调用 user.subscriptions.last。因为我多次调用它。因此,由于这个原因,我们的服务器正在超载。它是在索引页面上处理的,因为它在那里只显示 30 个条目。但是在导出到 CSV 时,我们的服务器会因为多次查询而过载。我为一位用户使用了大约 15 个查询。
这里的问题是我必须检查有效订阅以打印其代码。我也不能将 where 查询放在 scoped_collection 中,因为它只会加载用户的有效订阅数据。那么这个问题怎么解决??????
def scoped_collection
end_of_association_chain.includes(:subscriptions, :blogs)
end
index do
column :email
column "referrer" do |user|
subscription = user.subscriptions.valid.first
subscription.referrers.first.code if subscription
end
column "blog_id" do |user|
user.blog.id if user.blog
end
end
用户 has_many 订阅和订阅 has_many 推荐人我想要第一个推荐人代码
【问题讨论】: