State provando a farlo funzionare per un po 'di tempo. Fondamentalmente ho una pausa come backend che restituisce json, tutto bene.fetchRelated to get related related
Il problema che ho è con backbone-relazionale. Sono sicuro che ho appena ricevuto qualcosa di ma ho cercato le reti per un po 'e non ho trovato nulla per aiutare.
Sto cercando di ottenere una relazione tra il modello "Professione" e "Arma". Ecco il mio codice per questo:
Profession = Backbone.RelationalModel.extend({
urlRoot: '../api/professions',
relations: [{
type: Backbone.HasMany,
key: 'weapons',
relatedModel: 'Weapon',
collectionType: 'Weapons',
reverseRelation: {
key: 'profession',
includeInJSON: 'id',
keySource: 'profession_id'
}
}]
});
Weapon = Backbone.RelationalModel.extend({
urlRoot: '../api/weapons'
});
Weapons = Backbone.Collection.extend({
model: Weapon,
url: function(models){
return '../api/weapons';
}
});
E una chiamata ai punti finali API restituisce:
{name: "Profession1", id: 1}
[{name: "Weapon1", profession_id: 1}, {name: "Weapon2", profession_id: 1}]
Quindi, se ho capito bene una profession.fetchRelated('weapons')
dovrebbe inviare una HttpRequest per l'url per la raccolta di armi e tirare l'oggetto che hanno una profession_id di 1. Ma non succede nulla quando ho eseguito profession.fetchRelated('weapons')
Grazie per il chiarimento. Forse dovrei solo cambiare la risposta dell'API per includere i modelli annidati come voglio che siano disponibili non appena viene recuperata la "professione". – JonasFromell
Il problema che incontro è quando si hanno dozzine di professioni, ciascuna con dozzine di armi leggermente sovrapposte. Includere l'oggetto arma completo con ogni professione porta a cumuli di dati ridondanti. È ottimo per questo piccolo esempio, ma per un'applicazione di grandi dimensioni, non del tutto fattibile. –