Нет, но вы можете сделать то, что вы сказали, а затем для каждого подкласса добавить ассоциацию к модели, которая содержит определенные атрибуты. Затем вы можете использовать delegate
, чтобы все выглядело гладко.
class User
end
class Doctor < User
has_one :doctor_profile
delegate :phd_in, :to => :doctor_profile
end
class Patient < User
has_one :patient_profile
delegate :symptoms, :to => :patient_profile
end
class DoctorProfile
# E.g. attributes: phd_in:string
end
class PatientProfile
# E.g. attributes: symptoms:text
end