From 390f68aad6df5e3edce942f6119727dc635d25ca Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 13 Sep 2016 14:57:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=80=A7=E8=83=BD=E6=8F=90=E5=8D=87=EF=BC=88=E4=B8=BB?= =?UTF-8?q?=E8=A6=81=E6=98=AF=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=87=8F=E5=B0=91=EF=BC=8C=E5=BB=BA=E7=AB=8B=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=B4=A2=E5=BC=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 38 ++++--------------- .../student_work/_evaluation_title.html.erb | 2 +- .../_evaluation_un_title.html.erb | 2 +- ...63446_add_index_to_student_works_scores.rb | 6 +++ 4 files changed, 15 insertions(+), 33 deletions(-) create mode 100644 db/migrate/20160913063446_add_index_to_student_works_scores.rb diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index d1835408f..0dffd7b66 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -338,41 +338,17 @@ class StudentWorkController < ApplicationController end def index - # 作业消息状态更新 - @homework.course_messages.each do |homework_message| - if User.current.id == homework_message.user_id && homework_message.viewed == 0 - homework_message.update_attributes(:viewed => true) if homework_message.viewed == 0 - end - end - - #修改作品提示消息更新 - student_work_messages = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, StudentWork.name, 0) - student_work_messages.each do |message| - message.update_attribute(:viewed, true) - end - + # 作业消息状态更新? + homeworkcommon_messages = CourseMessage.where(:user_id => User.current.id, :viewed => 0, :course_message_id => @homework.id, :course_message_type => "HomeWorkCommon") + homeworkcommon_messages.update_all(:viewed => true) + studentwork_messages = CourseMessage.where(:user_id => User.current.id, :viewed => 0, :course_id => @homework.course, :course_message_type => "StudentWork") + studentwork_messages.update_all(:viewed => true) # 作品打分消息状态更新 studentworks_scores = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, "StudentWorksScore", 0) - studentworks_scores.each do |studentworks_score| - studentworks_score.update_attributes(:viewed => true) if studentworks_score.viewed == 0 - end + studentworks_scores.update_all(:viewed => true) # 作品评论消息状态更新 journals_for_teacher = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, "JournalsForMessage", 0) - journals_for_teacher.each do |journal_for_teacher| - journal_for_teacher.update_attributes(:viewed => true) - end - #不能参与作业匿评消息状态更新 - no_evaluation = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =? and status =?", User.current.id, @homework.course, "StudentWork", 0, 0) - no_evaluation.update_all(:viewed => true) - # 作品留言 - # 消息end - #设置作业对应的forge_messages表的viewed字段 - query_student_work = @homework.course_messages - query_student_work.each do |query| - if User.current.id == query.user_id - query.update_attributes(:viewed => true) - end - end + journals_for_teacher.update_all(:viewed => true) ################################################################################################################## @order,@b_sort,@name,@group = params[:order] || "score",params[:sort] || "desc",params[:name].to_s.strip || "",params[:group] @homework_commons = @course.homework_commons.where("publish_time <= ?",Time.now.strftime("%Y-%m-%d")).order("created_at desc") diff --git a/app/views/student_work/_evaluation_title.html.erb b/app/views/student_work/_evaluation_title.html.erb index 55e1b57c1..397e4ba46 100644 --- a/app/views/student_work/_evaluation_title.html.erb +++ b/app/views/student_work/_evaluation_title.html.erb @@ -29,7 +29,7 @@ 我的评分 - <% @stundet_works.each_with_index do |student_work, i|%> + <% @stundet_works.includes(:user => {:user_extensions => []}, :project => {}).each_with_index do |student_work, i|%> <%= render :partial => "evaluation_work", :locals => {:student_work => student_work, :index => i}%> diff --git a/app/views/student_work/_evaluation_un_title.html.erb b/app/views/student_work/_evaluation_un_title.html.erb index 4fdd6384f..4091911fe 100644 --- a/app/views/student_work/_evaluation_un_title.html.erb +++ b/app/views/student_work/_evaluation_un_title.html.erb @@ -74,7 +74,7 @@ <%# end %> - <% @stundet_works.each_with_index do |student_work, i| %> + <% @stundet_works.includes(:user => {:user_extensions => []}, :project => {}, :student_works_scores => {}).each_with_index do |student_work, i| %> <%= render :partial => "evaluation_un_work", :locals => {:student_work => student_work, :index => i} %> diff --git a/db/migrate/20160913063446_add_index_to_student_works_scores.rb b/db/migrate/20160913063446_add_index_to_student_works_scores.rb new file mode 100644 index 000000000..f21843289 --- /dev/null +++ b/db/migrate/20160913063446_add_index_to_student_works_scores.rb @@ -0,0 +1,6 @@ +class AddIndexToStudentWorksScores < ActiveRecord::Migration + def change + add_index :student_works_scores, :user_id, name: 'user_id' + add_index :student_works_scores, :student_work_id, name: 'student_work_id' + end +end