0

私は MySQL DB を使用して Rails 3.2 アプリを実行しています。たとえば、動的コレクションのようなモデルを構築したいと考えていAlbumます。

アルバムには別のモデルの複数のインスタンスが含まれている必要があります。たとえば、私はそれらをItems と呼んでいますが、1 対多の結合テーブルと静的にのみ関連付けたくありません。

次のような基準を定義することも可能です。

  • AlbumItemstart-date から end-date までの を含む
  • AlbumItemフラグ XY が「foo」である s を含む
  • ..

これらの基準/パラメーターは、データベースに永続的に保存する必要があります。Itemは一度リンクされるべきではありませんItem。パラメーターに一致する場合は、新しい をアルバムに添付する必要があります

パラメーターの数は柔軟にする必要があります。たとえば、アルバムの複数の時間範囲が可能である必要があります。そこで、アルバムと一致した時間範囲との関係を格納する追加のテーブルについて考えます。

この方法を実装Albumし、単純なalbum.items呼び出しですべてのアイテムにアクセスできるようにするための最良/最もパフォーマンスの高い方法は何でしょうか?

動的リンクのパラメーターをどこにどのように保存すればよいですか?

4

1 に答える 1

1

それぞれが複数の基準セットを持つことができるItemSetので、クラスを作成できると思います。単一テーブルの継承を使用してさまざまなサブクラスを持つことができます (または、この種の動作を別の方法で実現することもできます。こちらを参照してください)。また、各サブクラスのメソッドを、その種類に応じて(日付、フラグ セットなどに基づいて) 定義することもできます。 .)。のそれぞれのの結合になります。AlbumItemSetitemsItemSetalbum.itemsitemsalbum.item_sets

于 2012-04-07T05:40:51.937 に答える