У меня есть следующий сценарий, и я не уверен, следует ли мне использовать наследование классов или наследование одной таблицы:
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".