class UserExtension < ApplicationRecord # identity 0: 教师教授 1: 学生, 2: 专业人士, 3: 开发者 enum identity: { teacher: 0, student: 1, professional: 2, developer: 3, enterprise: 4, unselect: -1 } belongs_to :user, touch: true belongs_to :school, optional: true belongs_to :department, optional: true before_save :set_laboratory_school def identity_text I18n.t("user.identity.#{identity}") end private def set_laboratory_school return unless new_record? self.school_id = Laboratory.current.school_id if school_id.blank? && !Laboratory.current.main_site? end end