diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index ce9c9af6c..106ba3dd4 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -1129,12 +1129,12 @@ class CoursesController < ApplicationController def validate_course_name tip_exception("课堂名称不能为空!") if params[:course][:name].blank? - if params[:subject_id].blank? || @course.subject.blank? + if params[:subject_id].blank? || (@course && @course.subject.blank?) tip_exception("课程名称不能为空!") if params[:course_list_name].blank? tip_exception("课堂名称应以课程名称开头命名") unless params[:course][:name].index(params[:course_list_name]) && params[:course][:name].index(params[:course_list_name]) == 0 else - @subject = @course ? @course.subject : Subject.find_by!(id: params[:subject_id]) + @subject = @course.present? ? @course.subject : Subject.find_by!(id: params[:subject_id]) tip_exception("开始时间不能为空") if params[:start_date].blank? tip_exception("结束时间不能为空") if params[:end_date].blank? tip_exception("结束时间必须晚于开始时间") if params[:end_date] <= params[:start_date] diff --git a/app/models/course.rb b/app/models/course.rb index 16cb7a8c6..b7bea6ec0 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -5,7 +5,7 @@ class Course < ApplicationRecord belongs_to :teacher, class_name: 'User', foreign_key: :tea_id # 定义一个方法teacher,该方法通过tea_id来调用User表 belongs_to :school, class_name: 'School', foreign_key: :school_id #定义一个方法school,该方法通过school_id来调用School表 - belongs_to :course_list + belongs_to :course_list, optional: true # 所属实践课程 belongs_to :subject, optional: true diff --git a/dump.rdb b/dump.rdb index c4edd44ed..d3784bb93 100644 Binary files a/dump.rdb and b/dump.rdb differ