所有以下示例:包含用于急切加载的用于类级别查询。我在我的模型实例上尝试了它,它仍然发出了一堆查询 - 它是否适用于实例方法?
#in controller
@emails = person.sent_emails(:include => [:recipient])
#in view
render @emails
# _email.html.erb partial
<h1><%= email.recipient.name %></h1>
<p>
<%= email.content %>
</p>
#still issues a select * for emails, N+1 for recipients :/
答案 0 :(得分:3)
看起来有点Rails 2ish我知道并且可能有更好的Rails 3方式,但这确实有效。
@emails = person.sent_emails.find(:all, :include => :recipient)
编辑:请参阅BaroqueBobcat的评论,了解Rails 3中的更好方法