У меня есть пользовательская модель, которую я хочу назначить учителем или учеником (учитель и ученик - две раздельные модели), потому что, если пользователь зарегистрируется, у него будут разные поля регистрации в зависимости от того, является ли он учителем или учеником. Пользователь может быть учителем или учеником, но не обоими.
Я пытался, но не думаю, что это лучший способ сделать это. Любая помощь?
class User < AR
has_secure_password
has_one :teacher, class_name: "teacher", foreign_key: "teacher_id", conditions: { role: 'teacher' }
has_one :student, class_name: "student", foreign_key: "student_id", conditions: { role: 'student' }
enum role: [:teacher, :student]
end
class Teacher < AR
belongs_to :user, class_name: "user", foreign_key: "user_id"
end
class Student < AR
belongs_to :user, class_name: "user", foreign_key: "user_id"
end