次のシナリオがありますが、クラス継承と単一テーブル継承のどちらを使用すべきかわかりません。
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」という名前を付ける可能性があることです。