私はいくつかのユースケースでルーターv2でemberjsを使用しましたが、それは本当にうまく機能します。{{linkto ..}}構造(関連するネストされたリソースを含む)をクリックすることでページの複雑さが増すユースケースには問題はありません。
ただし、2つ(またはそれ以上)の異なるモデルを同時に表示できる必要がある場合もあります。
例えば:
モデルの人とモデルのペットがいます。
何かのようなもの:
DS.RESTAdapter.configure("plurals",{"person" : "people"})
App.Store = DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.create({namespace: 'restservice'})
});
var attr = DS.attr;
App.Person = DS.Model.extend({
firstName: attr('string'),
lastName: attr('string'),
birthDay: attr('string'),
pets: DS.hasMany('App.Pet')
});
App.Pet = DS.Model.extend({
name: attr('string'),
species: attr('string'),
person: DS.belongsTo('App.Person')
});
何らかの理由でModelPersonとPetのインスタンスが存在しますが、これら2つのモデル間の関係はまだ定義されていません。
{{linkto ..}}コンストラクトを介して呼び出されるページで、person-petassignmenteditorを実装します。この場合、2つのリストを表示したいと思います。
- 人々のリスト
- ペットのリスト
通常、このページのルートは1つのモデルにのみ対応しますが、人(ペットの割り当て編集者)の場合、両方のモデルを一度に表示するのは完全に自然です(追加のユーザー介入なしで)。
それを実装するための最良の方法は何ですか。ルーティングの概念なしでモデルをロードする必要がありますか?
このような方法が存在しますか:
(represent the person - pet assigment editor 'page')
|
|
{{linkto ..}} -------> resource-route ----->'splitting redirect'
- ----------------> resource-route person
- ----------------> resource-route pet
(like a url to a frame set which bear two (or more) 'parallel' requests)
リダイレクトを分割した後、3つのアクティブなルートがあります。
- 人のためのリソースルート-ペット割り当て編集者
- リソースルート担当者
- リソースルートペット
その後、通常の増分ドリルダウン(より深いネスティングルート:人の選択、ペットの選択..)アクションを実行できます。
このような概念がなくてもユースケースを実装できますが、ルーティングの概念が好きで、より複雑なシナリオで使用することに興味があります。
このようなコンセプトはありますか?そのようなシナリオに対処するためのemberjsの方法は何ですか?
よろしくお願いします
アンドレアス