次のシナリオがありますが、クラス継承と単一テーブル継承のどちらを使用すべきかわかりません。
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_idWord
Class MainList
has_many :words, :foreign_key => list_id
end
そして次のようなもの:
@user.main_list.find_by_name("MainList")?
これに関する唯一の問題は、誰かがRegularList「MainList」という名前を付ける可能性があることです。