私はクラス階層を持っていますが、単一表の継承はありません。ActiveRecordモデルの継承と多型
ThrowAway < ActiveRecord::Base
と
Junk < ThrowAway
問題は、すべてのThrowAway
のオブジェクトがLocation
への参照を持っているということです。 Location
belongs_to :throw_away, :polymprohic => true
問題は、私は
ThrowAway < ActiveRecord::Base
has_many :locations, :as => :throw_away
end
を定義する場合迷惑はそれを継承し、別のテーブル名を定義した場合でも、その後、throw_away_type
列は常にThrowAway
どこに設定されることです実際にはJunk
に設定します。私はそれらすべてが、個々のクラスの位置関係を定義せずにLocation
を持ちたいStuff < ThrowAway
Rags < ThrowAway
などが存在しますので、
は今、これらのサブクラスの多くがあるでしょう。
これはレールで可能ですか?問題は、ちょうど場所がないことです、これらの種類の関係が他にあり、私はむしろここでいくつかのDRYに従うでしょう。私は、現在のオブジェクトで実行され、実行時にこれらのリレーションシップジェネレータを生成するジェネレータメソッドを作成する必要があると仮定しています。
ありがとうございました。