Включает ли работа над экземплярами ActiveRecord? - PullRequest
6 голосов
/ 09 мая 2011

Все примеры: include для активной загрузки предназначены для запросов на уровне класса.Я попробовал это на моем экземпляре модели, и он все еще выдал кучу запросов - работает ли он на методах экземпляра?

 #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 :/

1 Ответ

3 голосов
/ 09 мая 2011

Это выглядит немного Rails 2ish, я знаю, и может быть лучший способ Rails 3, но это работает.

@emails = person.sent_emails.find(:all, :include => :recipient)

Редактировать: см. Комментарий BaroqueBobcat для лучшего метода в Rails3

...