|
- class Exercise < ActiveRecord::Base
- #exercise_status: 1,新建;2,发布;3,关闭
- include Redmine::SafeAttributes
- belongs_to :user
- belongs_to :course ,:touch => true
- has_many :exercise_questions, :dependent => :destroy,:order => "#{ExerciseQuestion.table_name}.question_number"
- has_many :exercise_users, :dependent => :destroy
- has_many :users, :through => :exercise_users #该测试被哪些用户提交答案过
- # 课程消息
- has_many :course_messages, :class_name =>'CourseMessage', :as => :course_message, :dependent => :destroy
- after_create :acts_as_course_message
- def acts_as_course_message
- if self.course
- if self.exercise_status == 2 #未发布
- #self.course.members.each do |m|
- self.course_messages << CourseMessage.create(:user_id => User.current.id, :course_id => self.course_id, :viewed => false,:status=>2)
- #end
- # else
- # self.course_messages.destroy_all 这里的destory_all值得商榷。因为我这里是通过status来控制不同的status的
- end
- end
- end
- end
|