Ho un backbone relazionale funzionante abbastanza bene finora. Ho relazioni consolidate e relazioni inverse ben consolidate (vedi sotto). Quando inizialmente denomino .fetch()
sull'istanza del modello Country
, l'array nominees
viene analizzato perfettamente nei modelli nominee
.metodo backbone-relational .set() che non aggiorna i modelli correlati
Quando chiamo .fetch()
più tardi, tuttavia, questi modelli sono collegati non aggiornare, anche se i dati nominee
è cambiato (per esempio il valore del voto è incrementato). In sostanza sembra che il metodo .set()
di Backbone comprenda le relazioni inizialmente ma non successivamente.
Nazione Modello
var Country = Backbone.RelationalModel.extend({
baseUrl : config.service.url + '/country',
url : function() {
return this.baseUrl;
},
relations : [
{
type : Backbone.HasMany,
key : 'nominees',
relatedModel : Nominee,
collectionType : Nominee_Collection,
reverseRelation : {
key : 'country',
includeInJSON : false
}
}
]
});
risposta JSON su
{
"entrant_count" : 1234,
"vote_count" : 1234,
"nominees" : [
{
"id" : 3,
"name" : "John Doe",
"vote_count" : 1,
"user_can_vote" : true
},
{
"id" : 4,
"name" : "Marty McFly",
"vote_count" : 2,
"user_can_vote" : true
}
]
}
Qualsiasi aiuto sarebbe molto apprezzato, come sempre.