ember-data.js: https://github.com/emberjs/data/tree/0396411e39df96c8506de3182c81414c1d0eb981
En bref, quand il ya une erreur, je veux afficher les messages d'erreur dans la vue, puis l'utilisateur peut 1) de les annuler, ce qui annulera la transaction 2) corriger les erreurs de saisie et de réussir à valider la transaction, en passant les validations sur le serveur.
Ci-dessous est un extrait de code à partir de la source. Il ne comprend pas une erreur de rappel.
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);
}
});
},
Dans l'ensemble, quel est le flux de la réception d'une erreur de la part du serveur et la mise à jour de la vue? Il semble qu'une erreur de rappel devrait mettre le modèle dans un isError
de l'état, et alors que la vue peut afficher les messages appropriés. Aussi, la transaction devrait rester sale. De cette manière, la transaction peut utiliser rollback
.
Il semble que l'utilisation d' store.recordWasInvalid
va dans la bonne direction, bien.