W jaki sposób możemy wykonać wycofywanie niestandardowych transformowanych danych
Używam niestandardowej transformacji w jednym z moich modeli w następujący sposób:
App.Question = DS.Model.extend({
questionName: DS.attr('string'),
parentQuestionId: DS.attr('number'),
position: DS.attr('number'),
questionLayoutId: DS.attr('number'),
questionLayoutName: DS.attr('string'),
attributes: DS.attr('raw'),
childQuestions: DS.hasMany('question', {async: true})
});
a moja transformacja jest zdefiniowana jako:
App.RawTransform = DS.Transform.extend({
deserialize: function (serialized) {
var obbj = Ember.Object.create();
for (var key in serialized) {
obbj.set(key, serialized[key]);
}
return obbj;
},
serialize: function (deserialized) {
return JSON.stringify(deserialized);
}
});
Dzięki tej konfiguracji wycofywanie nie działa dla przekształconych właściwości. Oto link jsBin do demo problemu:http://jsbin.com/uBAZOfO/1/
więc jeśli zmienisz pola wejściowe i wciśniesz rollback, tylko nazwa zostanie wycofana. Czy jest jakieś obejście w celu przywrócenia danych przekształconych?
Dzięki, Dee