解决issue详情性能N+1问题

rep_quality
huang 9 years ago
parent 4900ff5492
commit 00e6549bec

@ -132,16 +132,13 @@ class IssuesController < ApplicationController
User.current.at_messages.unviewed('Journal', j.id).each {|x| x.viewed!} User.current.at_messages.unviewed('Journal', j.id).each {|x| x.viewed!}
end end
# 缺陷状态更新 # 缺陷状态消息更新
query_journals = @issue.journals query_journals_ids = @issue.journals.map{|journal| journal.id}
query_journals.each do |query_journal| if query_journals_ids.length > 0
query_journal.forge_messages.each do |f| query_journals = ForgeMessage.where("user_id =? and forge_message_type =? and forge_message_id in (#{query_journals_ids.join(",")})", User.current.id, "Journal")
if User.current.id == f.user_id query_journals.update_all(:viewed => true)
f.update_attributes(:viewed => true)
end end
end
end
# end
@jour_reply = Journal.new @jour_reply = Journal.new
@journals = @issue.journals.includes(:user, :details).reorder("#{Journal.table_name}.id ASC").all @journals = @issue.journals.includes(:user, :details).reorder("#{Journal.table_name}.id ASC").all
@journals.each_with_index {|j,i| j.indice = i+1} @journals.each_with_index {|j,i| j.indice = i+1}

Loading…
Cancel
Save