Je rencontre des problèmes lors du chargement d'une relation belongsTo
- aucune erreur ne s'affiche et aucune demande n'est envoyée. L'interface utilisateur reste simplement vide. Étant donné les modèles suivants:Erreur lors du chargement de la relation belongsTo dans Ember 2
project.js importer DS depuis 'ember-data';
export default DS.Model.extend({
name: DS.attr(),
items: DS.hasMany('line-item', {async: true}),
customer: DS.belongsTo('customer', {async: false})
});
customer.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr(),
email: DS.attr(),
projects: DS.hasMany('project', {async: true})
});
La relation entre projet et client existe. Lorsque vous accédez au point final de projets, le projet est correctement retourné:
{
"data":{
"type":"projects",
"id":"3861b834-e270-4296-b7be-9aca55676874",
"attributes":{
"created":"2016-04-27T22:36:01.061349Z",
"modified":"2016-04-27T22:36:01.061477Z",
"name":"Sample name",
},
"relationships":{
"customer":{
"data":{
"type":"customers",
"id":"9242bd41-6bb0-41ed-b5f3-21df26486d9e"
}
},
"items":{
"meta":{
"count":0
},
"data":[
]
}
}
}
}
Cependant lorsque vous essayez d'accéder au client, rien ne se passe (rien je veux dire: pas de sortie de la console, aucune demande aux clients finaux, etc. L'interface utilisateur juste ne peut pas charger):
this.get('project').get('customer');
L'accès aux autres attributs fonctionne (y compris les éléments du projet).
Une idée de l'endroit où je vais mal?
Je crois, puisque la relation est async, le get retourne une promesse. 'project.get ('client'). puis ((client) => { // maintenant nous pouvons travailler avec le client });' – snewcomer
Merci snew. Malheureusement, cela ne fonctionne pas - le problème semble être 'project.get ('client')' - c'est là qu'il échoue. – JB2
La valeur de retour est-elle indéfinie ou en fait quelque chose? – snewcomer