Fremdschlüssel, der mit einem Objekt gefüllt ist

9

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.

%Vor%     
antonjs 05.07.2012, 14:47
quelle

2 Antworten

4

Bearbeiten 2:

Zypern

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. Ссылка

    
Amith George 10.07.2012, 13:01
quelle
0

Bearbeiten

Aktualisierte Datei

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:

%Vor%

Sie müssen die unset-Methode in Ihrem Task -Modell überschreiben:

%Vor%

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.

    
Tanzeeb Khalili 10.07.2012 05:12
quelle