diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 6b686e0e7..2ecb522a2 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -284,6 +284,7 @@ class CoursesController < ApplicationController page = params[:page] || 1 limit = params[:limit] || 20 @teacher_list = @teacher_list.page(page).per(limit) + @teacher_list = @teacher_list.preload(:graduation_group, :user, :teacher_course_groups) end def apply_teachers diff --git a/app/views/courses/teachers.json.jbuilder b/app/views/courses/teachers.json.jbuilder index 6a8505964..040ffb2aa 100644 --- a/app/views/courses/teachers.json.jbuilder +++ b/app/views/courses/teachers.json.jbuilder @@ -7,9 +7,11 @@ json.teacher_list do json.user_id teacher.user.id json.role teacher.role == "CREATOR" ? "管理员" : teacher.role == "PROFESSOR" ? "教师" : "助教" json.course_groups do - json.array! CourseGroup.where(id: TeacherCourseGroup.where(course_member_id: teacher.id, user_id: teacher.user.id, course_id: @course.id).pluck(:course_group_id)) do |course_group| - json.name course_group.name - json.id course_group.id + if @course.course_groups_count > 0 + json.array! @course.course_groups.select{|group| teacher.teacher_course_groups.pluck(:course_group_id).include?(group.id)} do |course_group| + json.name course_group.name + json.id course_group.id + end end end json.graduation_group teacher.graduation_group.try(:name)