serializers ember ember.js ember-data

ember.js - serializers - Ember Data: ¿cómo configurar es Sucio para un registro?



ember serializers (2)

Tengo algunas pistas de esta otra pregunta: cómo configurar manualmente un estado de objeto para limpiar (guardado) usando Ember-Data

En particular, el poco sobre:

record.get(''stateManager'').transitionTo(''loaded.saved'')

Tengo details: DS.attr(''recursive_object'') transformación personalizada details: DS.attr(''recursive_object'') (es un objeto recursivo).

Los details attr se pueden editar en su lugar, sin que cambie la referencia real del objeto (por ejemplo, se edita un pequeño detalle en los detalles de attr). Esto, sin embargo, no desencadena el registro del disco padre es isDirty .

¿Cómo puedo notificar manualmente a un registro de DS.Model que se ha actualizado?

Definición del modelo:

App.MyRecord = DS.Model.extend details: DS.attr "recursive object"

Edición de details

# record is an instance of App.MyRecord # makes a change to the record''s details attr record.makeChangeToDetails() record.get(''isDirty'') # still false because Ember doesn''t know that a sub-detail changed.

Cosas que he intentado:

Envolviendo record.makeChangeToDetails() con llamadas will/didSetProperty :

record.send ''willSetProperty'', name: ''details'' record.makeChangeToDetails() record.send ''didSetProperty'', name: ''details''

Llamar a notifyPropertyChange

record.notifyPropertyChange ''details''

Llamando a un set y pasando el mismo objeto

record.makeChangeToDetails() record.set ''details'', record.get(''details'')

También he intentado enviar varios otros eventos de DS.model states desde aquí: https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js incluyendo didChangeData , becameDirty pero ninguno de estos funcionó.

¿Algunas ideas?


Usando 1.0.0-beta.7+canary.b45e23ba , parece hacer el trabajo:

> record.isDirty() < false > record.send(''becomeDirty'') < undefined > record.isDirty() < true