Я изучаю это уже несколько дней, и я знаю, что существует множество статей, в которых говорится о наследовании одной таблицы и полиморфных ассоциациях с 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
Основываясь на моем исследовании, это своего рода «смешанная модель» дизайна.
Честно говоря, на данный момент я не знаю другого решения, которое могло бы работать. Каждый раз, когда я вижу подобных вопросов , я вижу, что возникает идея полиморфных ассоциаций. Не мог бы кто-нибудь объяснить, как полиморфная ассоциация будет работать в этом случае?
Есть ли у кого-нибудь другие предложения по дизайну?