diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb index c0df0699c..2ad60fc29 100644 --- a/app/controllers/bids_controller.rb +++ b/app/controllers/bids_controller.rb @@ -410,9 +410,7 @@ class BidsController < ApplicationController @homework = HomeworkAttach.new #@homework_list = @bid.homeworks #增加作业按评分排序, - @homework_list = HomeworkAttach.find_by_sql("SELECT homework_attaches.*, - (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id) AS score - FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY score DESC") + @homework_list = @bid.homeworks.joins(:user).includes(:rate_averages, :user, :attachments).order('seems_rateable_cached_ratings.avg DESC') if params[:student_id].present? @temp = [] @homework_list.each do |pro| diff --git a/app/helpers/bids_helper.rb b/app/helpers/bids_helper.rb index 8b03d74cd..40cec6edb 100644 --- a/app/helpers/bids_helper.rb +++ b/app/helpers/bids_helper.rb @@ -158,7 +158,7 @@ module BidsHelper #当前用户是不是指定课程的学生 def is_cur_course_student? course people = [] - course.members.each do |member| + course.members.includes(:user, :roles).each do |member| if [5,10].include? member.roles.first.id people << member.user end diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index fb0a269e6..f16aef911 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -139,7 +139,7 @@ module CoursesHelper #判断制定用户是不是当前课程的老师 def is_course_teacher user,course people = [] - course.members.each do |member| + course.members.includes(:roles, :user).each do |member| role_id = member.roles.first.id if TeacherRoles.include? role_id people << member.user diff --git a/app/models/user.rb b/app/models/user.rb index d79cf11e1..689cc7b2e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -137,7 +137,7 @@ class User < Principal has_one :user_extensions,:dependent => :destroy ## end - #default_scope -> { includes(:user_extensions, :user_score) } + default_scope -> { includes(:user_extensions, :user_score) } scope :teacher, -> { joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::TEACHER) } diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb index 48f1c150d..d2d58753b 100644 --- a/app/views/bids/_homework_list.html.erb +++ b/app/views/bids/_homework_list.html.erb @@ -83,13 +83,8 @@