Я занимаюсь этим уже несколько дней, и я знаю, что существует множество статей, в которых говорится о наследовании одной таблицы и полиморфных ассоциациях с Rails. Много полезного материала с 2009 года или раньше, и мне интересно, есть ли лучший подход к этой проблеме сейчас.
Ситуация
Приложение имеет несколько различных типов пользователей (например, Покупатель и Продавец), каждый из которых имеет свой профиль. Профиль для каждого типа пользователя действительно различен, поэтому в настоящее время я исключаю идею одной общей таблицы «профиля».
Мой текущий подход
, что совпадает с этим решением.
class User < ActiveRecord::Base
# authentication stuff
end
class UserType1 < User
has_one :user_type_1_profile
end
class UserType2 < User
has_one :user_type_2_profile
end
...
class UserTypeN < User
has_one :user_type_n_profile
end
Судя по моим исследованиям, это своего рода "смешанная модель".
Честно говоря, на данный момент я не знаю другого решения, которое бы работало. Каждый раз, когда я видел похожих вопросов, задаваемых, я вижу возникшую идею полиморфных ассоциаций. Может ли кто-нибудь рассказать, как будет работать полиморфная ассоциация в этом случае?
У кого-нибудь есть другие предложения по дизайну?