1
我運行到哪裏我在與下面的行大規模的N + 1個問題一個問題:刪除/重構,以避免N + 1
<% @reports.each do |report| %>
<% (@[email protected]_week).each do |week_number| %>
<% if report.user.answers.where(week_number: @current_week).exists? %>
<%= image_tag report.user.avatar.url(:thumb), size: '30', class: 'img-circle media-object' %>
<%= link_to "#{report.user.first_name + ' ' + report.user.last_name}", weekly_report_path(report.user.id, week_number) %>
<%= report.user.due_date %>
<%= week_number %>
<% end %>
<% end %>
<% end %>
當你看到有一噸協會相互連接,我試圖找到一種方法來簡化這一點。
控制器代碼:
def index
@reports = current_user.active_managements
@current_week = Time.zone.now.strftime('%V').to_i
@first_week = current_user.created_at.strftime('%V').to_i
end
如何避免這裏的N + 1度的問題,是代碼很好,只是需要有預先加載,或者我應該重新寫 - 如果是這樣,任何建議?
子彈錯誤,我得到的是:
Reviewer => [:user]
Add to your finder: :includes => [:user]
index:15 which is:
<% if report.user.answers.where(week_number: @current_week).exists? %>
User => [:company]
Add to your finder: :includes => [:company]
navigation_links:21 which is:
<li><%= link_to "Settings", edit_company_path(current_user.company) %></li>
爲線
你能分享你的報告和用戶模型的關係嗎? –