多相キューアソシエーションを作成したい。私は2つのキューを考えています。一つは建物を作ること、もう一つはユニットを作ることです。Rails異なる動作のポリモーフィックアソシエーション
キューにはアイテムの追加や削除などの多くのプロパティがありますが、いくつかの違いもあります。
例えば、建物にはレベルがあり、ユニットにはレベルがありません。 QueuedItemポリモーフィッククラスには通常、削除メソッドのようないくつかのメソッドがあります。ただし、アイテムが建物であるかユニットであるかによって異なる方法で処理されます。
さらに、レベルの列は、軍の列に並ぶ項目に対して全く重要ではありません。
私の質問は、これらのニーズに基づいて、それを設計する最良の方法は何ですか?
Building
Unit
QueuedItem -> queued_id, queued_type, city_id
または私はそれ以上の中間モデルを追加する必要があります:私はちょうど(キューに入れられた項目は、常に都市に属している)のような3機種を進めるべきでしょうか?どう思いますか ?
はい、これは私が今日考えていたものですが、これはおそらく最善の方法だと思います。しかし、キューは具体的なクラスであるべきだと思いますか?私はmixinモジュールのようなものを作る方がおそらく良いと思うでしょう、あなたはそれに同意しますか?次に、具体的なモデルBuildingQueueは継承されます。私はちょっとこれが好きです。 – Spyros
この場合、基本クラスまたは混合モジュールのどちらでも問題なく動作します。あなたが一番好きなアプローチで:)。 – Bira