0

ユーザーが新しいモデルを作成できるフォームがあります。モデルには多くの潜在的な属性があり、フォームには、ユーザーがこのモデルに対して「アクティブ」として選択できるすべてのオプションをリストする必要があります。

オプションのコレクションをどのように管理すればよいのか疑問に思っています。私は2つの異なる方法があると思います:

1) フォームを含むビューにコレクションをアタッチし、モデルに別のコレクションをアタッチします。リスト内のアイテムがビューで選択されると、アイテムがモデル内のコレクションにコピーされます。

2)モデルに単一のコレクションを持ち、アイテムを「選択済み」または「未選択」としてマークするため、コレクションは1つしかなく、そのモデルで選択されたものと選択されていないものを表示するときに2つの異なるコレクションを比較する必要はありませんだ。

モデルの一部であり、サーバーに送信して保存する必要があるデータのみがモデルに含まれているため、最初のオプションはより「適切」であると考えました。「選択した」もの全体がある場合は、保存時にそのデータを並べ替えて、サーバーに送信するものを決定する必要があります。

4

1 に答える 1

0

2 つの別々のモデルを用意することをお勧めします。親モデル 1 つとオプション モデル 1 つ。両方に対応するコレクションがあります。

親モデルには、ネストされた Options コレクションが含まれます。これは、Backbone での基本的な多対多の実装です。

私は常に、自分のモデルとコレクションに真の関係を反映させることに非常に熱心です。ここで、オプションが独自の使用法を持つ適切なエンティティであると思われる場合は、それらのモデルを作成することを検討します。

于 2013-02-17T08:29:44.940 に答える