Ich möchte eine Beziehung zwischen zwei Modellen User und Task herstellen, die backbone-relational sind.
Die Beziehung zwischen den beiden Modellen ist die folgende:
%Vor% %Vor% %Vor% %Vor%Das Problem liegt tatsächlich in den collection.models, siehe die angehängten Bilder :
Bitte überprüfen Sie diese jsfiddle: Ссылка
%Vor%
P. S.:
Tatsächlich verwende ich requireJs, um das UserModel
zu erhalten, also kann ich keine Anführungszeichen in relatedModel-Wert einschließen.
Bearbeiten 2:
Ich habe die Datei aktualisiert, um die Änderungen, die ich unten vorgeschlagen habe, widerzuspiegeln. Solange Sie bei Ihrer Aufgabe jSON aufrufen, wird auf dem Server ein json-Objekt mit der Eigenschaft creator_id
auf die tatsächliche id
des Benutzers festgelegt. Das keyDestination
ist hier redundant, da die Dokumentation angibt, dass es automatisch gesetzt wird, wenn Sie keySource
verwenden.
Bearbeiten:
Die Kombination der drei oben könnte Ihr Problem lösen.
%Vor% In der Dokumentation wird außerdem angegeben, dass die von keySource
oder keyDestination
angegebene Eigenschaft nicht von Ihrem Code verwendet werden sollte. Auf die Eigenschaft kann nicht als Attribut zugegriffen werden.
Bitte versuchen Sie dies und kommentieren Sie, wenn das Ihr Problem behebt.
Übrigens, hier ist ein netter Blogpost, der Backbone-relationales Ende-zu-Ende verwendet. Ссылка
Bearbeiten
Das Problem ist, dass Backbone-Relational explizit die keySource löscht, um undichte Abstraktionen zu verhindern. Es hat einen fest codierten Aufruf von unset
für das Attribut in Backbone-Relational:
Sie müssen die unset-Methode in Ihrem Task
-Modell überschreiben:
Offensichtliche Probleme bei diesem Ansatz sind, dass Sie Ihren Code ändern müssen, wenn entweder Backbone seine Methode Backbone.Model.unset
ändert oder Backbone-Relational sein Verhalten keySource
ändert.
Tags und Links javascript backbone.js backbone-relational