我有一个列出系统中所有度量单位的控制器。当用户在Uom
模型中选择特定记录时,我希望能够将其删除。我正在使用Ember-Data beta-2。这是我到目前为止有:使用余烬数据删除模型记录的正确方法
App.UomsController = Ember.ArrayController.extend({
actions: {
deleteRecord: function(id) {
console.log("deleting: " + id);
var promisedDelete = this.store.find('uom',id).then(function(uom){
uom.deleteRecord();
});
}
}
});
动作deleteRecord
被称为传递有效的身份证件,并返回一个承诺。使用承诺的then()
功能,然后在履行诺言时它会调用Ember的deleteRecord()
,并且它似乎在本地工作。我说因为这个记录立即从屏幕和Ember调试器中消失。不幸的是,删除没有被保存到后端,并且重新加载hte页面会立即恢复本地的“已删除”记录。
我的问题是:
- 这是一种合理的方式执行当地删除?
- 如何持续删除后端?
这是一个非常优雅的方式。谢谢。 – ken
你可以更新这个答案的新版本的Ember数据?它返回'get('model')'的承诺。 – RyanJM
@RyanJM,看我更新的答案 – chopper