我的应用程序中有以下类:
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
我该如何重写它,以便它不会对循环的每次迭代进行查询?