私はMySQL DBを使用してRails 3.2アプリケーションを実行しています。例えば、Album
という動的コレクションのようなモデルを構築したいとします。データベースに格納されたパラメータを使用してオブジェクトの動的コレクションを構築する方法
アルバムには別のモデルのインスタンスが複数含まれている必要があります。たとえば、私はそれらをItem
と呼びますが、1対多の結合テーブルで静的にしか関連付ける必要はありません。
それはのような基準を定義することも可能であるべきである。
Album
をAlbum
日付を終了する開始日からItem
Sを含有するフラグXYが "FOO"- ある
Item
Sを含有します。
これらの基準/パラメータは、データベースに永続的に保存する必要があります。 Item
は一度リンクしないでください。新しいItem
は、パラメータに一致する場合にアルバムに添付する必要があります。
パラメータの数は柔軟にする必要があります。たとえば、アルバムの複数の時間範囲が可能である必要があります。だから私は、アルバムと一致する時間範囲の間の関係を格納する余分なテーブルについて考えてみましょう。
この方法を実装し、Album
内のすべてのアイテムを簡単なalbum.items
コールでアクセスできるようにするには、最も効果的な/最も効果的な方法は何でしょうか?
ダイナミックリンクのパラメータはどこに保存する必要がありますか?
したがって、本質的に任意のクエリをデータベースに保存したいですか? –
いいえ。コレクションの基準は完全に恣意的であってはならない。私は上記の時間範囲のような3つの可能な基準について考えています。したがって、クエリ自体はクエリのパラメータのみに格納されなければならない。時間範囲の開始日と終了日。 – alex
しかし、依然として分解されたクエリを保存しています。そして今日あなたは3つの基準を持っていますが、それはほぼ確実に変わります(そしておそらく、リリースの前日の03:00です)。配列で条件を指定できる場合は、 'serialize'を使って条件を直列化することができます。 –