0

1 つのビュー (またはより良いアイデア) 内で 2 つのモデルを使用する方法を探しています。

私はAttributesのセットを持つProductを持っています。属性は、事前定義されたリストから選択されます。そのため、 Attributeの選択肢のリストを取得してから、 Product用に選択された属性のリストを取得する必要があります。リストとの両方を取得するための 2 つの API エンドポイントがあります。/attributes//product/123/attributes/

これを達成するにはどうすればよいですか?最初のエンドポイントから選択肢をレンダリングし、次に 2 番目のエンドポイントを使用して選択されているものを表示し、chooseアクションをリッスンする必要があります (つまり、チェックボックスにチェックが入っています)。

または、別の方法として、すべてのAttributeをすべてのProductにリンクし、発言するかどうかを示すフラグを設定することselectedもできますが、これは少し後ろから前へのやり方のように思えますが、確かにフロントエンドから実装するのが最も簡単です.

ちなみに、バックエンドは Django/Postgres です。

4

1 に答える 1

0

ここで役立つことの1つは、モデルに対応するすべての属性を格納できる製品モデル内に属性コレクションを用意することです。次のように、モデル内でコレクションを初期化できます。

var Product = Backbone.Model.extend({
  initialize: function(){
    var attributes = new Attributes();
  }
})

ビューを初期化するときは、から取得したすべての属性で満たされたAtributesコレクション/attributesと、空白のProductモデルを渡します(または、ビューの作成時に初期化されます)。次に、ユーザーがリストから属性を選択すると、イベントをトリガーして、その属性を製品属性コレクションに追加できます。

お役に立てれば

于 2013-02-28T12:36:27.853 に答える