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を求めることができ、レールはあなたのためのキャストオブジェクトの世話をします