私は紙にまとめた一連のモデルを実装しようとしていましたが、複数テーブル継承の設定を使用するのが最善の方法だと思った問題が発生しました。しかし、Googleの検索後、ActiveRecordはMTIをサポートしていないことが判明しました。私のモデルが正しく実装されていれば、これを正しく設定していたのかどうかは分かりませんでした。だから私の質問は、Active RecordがMTIのサポートを組み込んだのはなぜですか?あなたが私のモデルセットアップが見えるようになっていることに興味があるなら、私はそれを下に置いておきます。RailsのActiveRecordが複数テーブルの継承をサポートしていないのはなぜですか?
class Player < ActiveRecord::Base; end
class CollegePlayer < Player; end
class ProPlayer < Player; end
ここで、プレーヤーは、CollegePlayerとProPlayerのいずれかまたは両方になります。 "人は" User
、元Player
、および/またはCoach
されたり、別の例では...
class Person < ActiveRecord::Base; end
class User < Person; end
class Player < Person; end
class Coach < Person; end
。
私は、"大学のプレーヤー "のようなものをプレイヤーのように見ている傾向があります。実現する)ことができます。同様に、あなたが人を抱えている場合、その人の固有の特性ではなく、「プレーヤー」と「コーチ」が役割です。私はあなたのモデルのセットアップがあまりにも文字通り "is a"概念を取ると思う。 –
@muistooshortあなたはおそらく正しいです、私はちょうどそれを追加情報として提供していました。私は主にアクティブレコードに複数表継承のサポートがない理由を尋ねています。 – daveomcd