У меня следующий сценарий, и я не уверен, стоит ли мне использовать наследование классов или наследование одной таблицы:
Class User
has_one :main_list
has_one :known_list
has_many :regular_lists
end
Class List
has_many :words
end
Class Word
belongs_to :list
end
То, что я хотел бы сделать, это чтобы каждый отдельный тип списка был отдельным классом, проблема в том, что если я сделаю это, мне нужно будет добавить main_list_id
, known_list_id
и regular_list_id
к Word
объект / класс. Это кажется громоздким. Могу ли я сделать что-то вроде:
Class MainList
has_many :words, :foreign_key => list_id
end
а затем что-то вроде:
@user.main_list.find_by_name("MainList")
?
Единственная проблема в том, что кто-то может назвать RegularList
"MainList".