2

ベストActiveRecordの継承抽象クラスのための戦略とサブクラス

私は抽象クラスを持っている、のは、次のメソッド/属性でMessageそれを呼びましょう。

Message 
    |- recipient 
    |- sender 
    \ body 

そして、私は2つのサブのクラス

ColorMessage < Message 
    |- first_color 
    |- second_color 
    \ body (returns "#{sender.name} says #{first_color} > #{second_color}") 

WeatherMessage < Message 
    |- current_weather_adverb 
    \ body (returns "#{sender.name} enjoys #{current_weather_adverb} weather") 

を持っている私はすべてのMessageのためのクエリを実行し、その具体的な種類を気にせず、自分の体を表示できるようにしたいと思います。基本的には、Messageをインタフェースとして扱います。

私はSTIに精通していますが、この場合は正しい解決策ですか?

ありがとうございました!私は、この単一テーブル継承(STI(のための適切な使用を検討してください。

あなたはMessage.allまたはColorMessage.allを求めることができ、レールはあなたのためのキャストオブジェクトの世話をします

答えて

1

関連する問題