Quelle structure JSON doit-elle être correctement téléchargée correctement?
-
12-12-2019 - |
Question
Je fais ma première relation Hasmany avec les données Ember et frappez toujours le plaisir
"Erreur non capturée: l'assertion a échoué: votre serveur a renvoyé un hachage avec la clé 0 mais vous n'avez pas de mappages "
Cela signifie généralement que je n'ai pas la structure JSON dans ce que j'appelle un format amical "Ember".
Je construis mon propre adaptateur de repos pour Django à l'aide de la structure de repos Django, donc je suis curieux de voir ce que cela devrait ressembler à la file d'attente sans erreur.
Actuellement, le JSON revenir ressemble à celui ci-dessous (clairement pas de cravate à sa session, mais peut-être que Ember sait déjà comment faire de cela?)
[{"id": 2, "nom": "foobar"}]
Les modèles ressemblent à ceci
CodeCamp.Session = DS.Model.extend({ id: DS.attr('number'), name: DS.attr('string'), room: DS.attr('string'), desc: DS.attr('string') }); CodeCamp.Speaker = DS.Model.extend({ id: DS.attr('number'), name: DS.attr('string'), session: DS.belongsTo('CodeCamp.Session') }); CodeCamp.Session.reopen({ speakers: DS.hasMany('CodeCamp.Speaker') });
Merci d'avance
La solution
La structure JSON devrait ressembler à ceci
{ speakers: [{ id: 2, name: "FooBar" }] }
a trouvé ce commettre qui montre que je dois juste envelopper mon JSON à l'intérieur d'un dict nommé
https://github.com/kurki/data/commit/f59ad5bc9718634b6f3d59356deae0bf97A1bbd5 <
C'est donc ma méthode JSON personnalisée maintenant dans mon adaptateur Django
findMany: function(store, type, ids) {
var root = this.rootForType(type), plural = this.pluralize(root), json = {};
this.django_ajax(this.buildURL(root, ids), "GET", {
success: function(pre_json) {
json[plural] = pre_json;
this.sideload(store, type, json, plural);
store.loadMany(type, json[plural]);
}
});
}