Ember Dataモデルの周りに頭を浮かべて、store.findAll()
を使って見つかったオブジェクトのコレクションをemberデータモデルのhasMany
の関係に割り当てようとしました。EmberデータのhasMany関係への割り当て
私は定義された2つのモデルがあります:oneBranch.get('lotsOfLeaves.length')
が0
あるように私はcreateRecord()
App.store.loadMany(App.Leaf,[
{ id: 1, text: "Hello, I'm leaf 1", branch_id: 1 },
{ id: 2, text: "Hello, I'm leaf 2", branch_id: 1 }
]);
var allLeaves = App.store.findAll(App.Leaf);
var oneBranch = App.Branch.createRecord({ id: 1, lotsOfLeaves: allLeaves });
の一部として関係を割り当て、それは(静かに)失敗した場合
App.Leaf = DS.Model.extend({
text: DS.attr('string'),
branch: DS.belongsTo('App.Branch')
});
App.Branch = DS.Model.extend({
lotsOfLeaves: DS.hasMany('App.Leaf')
});
を。
var all = App.store.findAll(App.Leaf);
oneBranch.set('lotsOfLeaves', all);
私は個別にそれぞれの葉を追加するoneBranch.get('lotsOfLeaves')
にpushObject()
を使用していますが、唯一の方法ということであることを理解:私は協会の後に関係を割り当てると
同様に、それは静かに失敗しますか?
もちろん、ありがとう@MikeHickman。あなたが 'var autoupdate = App.store.findAll(...)'のようなものを使うときに得られるバインディングを利用したいと思っていましたが、CRUD操作は自動的に反映されていました。この場合、 'oneBranch.get( 'lotsOfLeaves')'は常にシステム内のすべての 'App.Leaf'オブジェクトを含みます。私は手動でそれを管理する必要があるように見えます。 – EdgifyJP
また、アソシエーションに何かを割り当てようとすると何らかのメッセージで失敗した場合にはうれしいでしょう。しかし、うまくいけばそれは時間とともに改善されるだろう。 – EdgifyJP