Ich habe ein Problem, wo eine optionale AngleTo Beziehung nicht richtig zum Speichern geschoben wird. In meiner Ember-Anwendung habe ich eine Beziehung zwischen zwei Modellen, die optional ist. Stellen Sie sich zum Beispiel vor:Optional belongsTo Beziehung nicht zum Speichern
App.User = DS.Model.extend({
profile: DS.hasMany('profile', {'async': true})
});
App.Profile = DS.Model.extend({
user: DS.belongsTo('user', {'async': true})
});
wo das Feld "Benutzer" im "Profil" -Modell leer sein kann. Wenn es leer ist, sollte der Serialisierer
....
relationships: {
user: null
}
...
in der normalisierten Nutzlast zurück, zumindest, wenn ich den JSON-API-Standard ausgelegt habe (JSON-API resource linkage) korrekt. Das Problem ist, dass dies nicht in den Laden geschoben wird. Ich kann dieses Problem reproduzieren, indem
- einen „Profil“ Datensatz aus Backend mit Beziehung „user“ Laden
- Ändern des „user“ Wert auf der Client-Seite für diesen bestimmten Datensatz zu einem Nicht-null auf null gesetzt Wert
- Nachladen den Datensatz aus dem Backend
Nach diesen Schritten das Feld „Benutzer“ auf dem „Profil“ Rekord hält noch immer seine fehlerhaften, nicht-null-Wert.
Ist das erwartete Verhalten oder ein Fehler? Wenn dies das erwartete Verhalten ist, wie sollte ich diese Änderungen verfolgen, um die Datenintegrität zu erhalten?