我有以下型号:
App.Parent = DS.Model.extend({
foo: DS.attr('string'),
children: DS.hasMany('child', {async: true})
});
App.Child = DS.Model.extend({
bar: DS.attr('string')
});
我用一些夹具数据填充它们:
App.ApplicationAdapter = DS.FixtureAdapter.extend();
App.Parent.FIXTURES = [
{
id:0,
foo: 'parent',
children: [0,1]
}
];
App.Child.FIXTURES = [
{
id: 0,
bar: 'child 0'
},
{
id: 1,
bar: 'child 1'
},
{
id: 2,
bar: 'child 2'
}
];
在对关系进行一些更改后children
,如何将关系回滚children
到其最新保存的状态?
我通过以下方式将新孩子推送到 manyArray:
this.store.find('child', 2).then(function(child){
model.get('children').pushObject(child);
})
这确实改变了关系(我在我看来看到新的孩子),但父记录不会变脏。因此,当我尝试时model.rollback()
,它什么也不做。我也尝试了我在这里找到的解决方案How to rollback relationship changes in EmberData这是model.send('becomeDirty')
在回滚之前添加的,但它没有帮助。
也许我以错误的方式将孩子添加到我的关系中?
谢谢!