У меня есть комментарий модели, который имеет_a Пользователь.
На моей странице отображения я делаю Comment.all
, а затем отображаю каждый комментарий.
В представлении мне нужно отобразить не только комментарий, но и информацию о связанном пользователе (то есть авторе).
<% @comments.each do |comment| %>
<%= comment.user.name %>
<%= comment.user.email %>
...etc...
<% end %>
Это нормально и все, но activerecord переводит этов один SELECT * FROM users WHERE USER.id = commentId
запрос на каждый комментарий, который я имею.
Это немного нелепо, особенно на странице с сотнями комментариев.(Это сотни отдельных отдельных обращений к БД!)
Когда я делаю Comment.all, можно ли поручить рельсам не только захватывать комментарии, но и захватывать связанных пользователей, а затем, когда я звонюcomment.user.blah позже, чтобы он снова не взял его из базы данных?(Таким образом, все это делается в одном выражении db).