ember-data.js:https://github.com/emberjs/data/tree/0396411e39df96c8506de3182c81414c1d0eb981
简而言之,当出现错误时,我想在视图中显示错误消息,然后用户可以1)取消,这将回滚事务2)纠正输入错误并成功提交事务,传递验证服务器.
以下是来自源代码的代码段.它不包含错误回调.
updateRecord: function(store, type, record) {
var id = get(record, 'id');
var root = this.rootForType(type);
var data = {};
data[root] = this.toJSON(record);
this.ajax(this.buildURL(root, id), "PUT", {
data: data,
context: this,
success: function(json) {
this.didUpdateRecord(store, type, record, json);
}
});
},
Run Code Online (Sandbox Code Playgroud)
总的来说,从服务器接收错误和更新视图的流程是什么?似乎错误回调应该将模型置于一个isError状态,然后视图可以显示相应的消息.此外,交易应该保持脏.这样,交易就可以使用了rollback.
不过,似乎使用store.recordWasInvalid正朝着正确的方向发展.