【发布时间】:2013-04-13 10:43:52
【问题描述】:
我的应用程序中有以下类:
class Prompt
has_many :entries
end
class Entry
belongs_to :prompt
belongs_to :user
def self.approved
where("is_approved")
end
end
class User
has_many :entries
end
我想显示给定提示的所有“已批准”条目的表格以及他们belong_to 的用户。要生成此列表,我执行以下查询:
prompt = Prompt.find(prompt_id, :include => {:entries => :user})
但是当我运行以下循环时,它会为每个用户进行查询,而不是使用预取的用户
prompt.entries.approved.each do |entry|
puts entry.user.id
end
如何重写它,使其不会对循环的每次迭代进行查询?
【问题讨论】:
标签: ruby-on-rails-3 arel