class Course < ActiveRecord::Base include Redmine::SafeAttributes attr_accessible :code, :extra, :name, :state, :tea_id, :time , :location, :state, :term, :password belongs_to :project, :class_name => 'Project', :foreign_key => :extra # 定义一个project方法, 该方法通过extra来调用project表 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表 has_many :bid validates_presence_of :password, :term validates_format_of :class_period, :message => "class period can only digital!", :with =>/^[1-9]\d*$/ safe_attributes 'extra', 'time', 'name', 'extra', 'code', 'location', 'tea_id', 'password', 'term', 'password' #自定义验证 def validate if !class_period.match([0-9]) errors.add_to_base("class period can only digital") end end def get_endup_time begin end_time = Time.parse(self.endup_time) rescue Exception => e end_time = Time.parse("3000-01-01") Rails.logger.error "[Error] course endup_time error. ===> #{e}" ensure return end_time end end def get_time begin time = Date.new(self.time).to_time rescue Exception => e time = Time.parse("3000-01-01") Rails.logger.error "[Error] course time error. ===> #{e}" ensure return time end end end