Как следует обрабатывать ошибки при использовании RESTAdapter данных Ember.js?
Эмбер-data.js:https://github.com/emberjs/data/tr,ee/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);
}
});
},
В целом, каков поток получения ошибки от сервера и обновления представления? Кажется, что обратный вызов ошибки должен поместить модель вisError
состояние, а затем представление может отображать соответствующие сообщения. Также транзакция должна оставаться грязной. Таким образом, транзакция может использоватьrollback
.
Кажется, что с помощьюstore.recordWasInvalid
все же идет в правильном направлении.