0
在我的用戶模型:Rails的:優化查詢數據庫的has_many關係
class User < ActiveRecord::Base
has_many :received_messages
:foreign_key => 'recipient_id
end
在我的消息控制器的索引動作,我有: @messages = current_user.received_messages
在我看來(短版的實際代碼):
<% @messages.each do |message| %>
<%= message.sender.full_name %><br>
<%= truncate(message.body, :length => 50) %>
<%end%>
問題是,對於每條消息,它都會向數據庫查詢消息發送者。如果有20條消息,它會發送20個請求到數據庫。我如何避免這種情況?我一直在閱讀有關Eager加載和:includes
,但我不知道如何應用它在這種情況下。
請注意,發件人只是User類的另一個實例。
非常感謝你!!!!!! – pratski