tutorial ember data ember.js ember-data

ember.js - tutorial - Ember Data y registros sucios



ember service (2)

¿Cuál es la forma recomendada de descartar los cambios realizados en los registros?

Tengo la siguiente lógica para revertir registros sucios a su estado original.

if controller.get(''isDirty'') controller.get(''content'').rollback()

Esto funciona a menos que se haya realizado un intento fallido para comprometer el registro.

Si trato de confirmar los cambios y el servidor responde con errores, ya no es posible deshacer el registro de esta manera. En este caso, ¿Ember Data o RESTAdapter proporcionan un método integrado para revertir el registro a su estado original?

Estoy usando el DS.RESTAdapter empaquetado con la revisión 11 de Ember Data


He encontrado algo que aparentemente funciona aunque no sé por qué. Esto es lo que hago en mi modelo:

App.User = DS.Model.extend({ becameInvalid: function(errors) { this.get(''transaction'').rollback(); //this.rollback(); <- This doesn''t work. You get becameClean error. } });

El comentario de sly7-7 para ese tema me dio la idea.


crea / actualiza tu registro a través de una transacción en un enrutador. Ver más detalles aquí sobre cómo hacer eso.

var transaction = App.store.transaction() transaction.createRecord(App.Foo); transaction.commit() transaction.rollback()