2017-03-28 1 views
1

J'utilise une simple requête findAll dans mon application Ember (Ember version: 2.12.0, Ember-data version: 2.12.1) et je reçois l'erreur suivante:findAll erreur lancer

Échec Assertion: Vous ne pouvez plus passer une modelClass comme premier argument à store.buildInternalModel. Transmettez modelName à la place. J'utilise RESTAdapter et RESTSerializer.

Voici mon modèle d'équipe:

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name: DS.attr('string'), 

    projects: DS.hasMany('project'), 
    users: DS.hasMany('user'), 
    members: Ember.computed('users', function() { 
    return this.get('users.content.length'); 
    }), 
    leader: DS.belongsTo('user', { 
    inverse: 'team' 
    }) 
}); 

et mon équipe sérialiseur:

import ApplicationSerializer from './application'; 
import DS from 'ember-data'; 

export default ApplicationSerializer.extend(DS.EmbeddedRecordsMixin,{ 
    attrs: { 
    users: { async: true }, 
    projects: { async: true } 
    } 
}); 

Malgré l'erreur, les objets de l'équipe que je DEMANDÉ sont dans le magasin. Je n'ai pas eu de chance pour résoudre ça jusqu'à présent.

Répondre

2

En fait, le problème était dans le sérialiseur et la charge utile du serveur. Je devrais avoir attrs: {users: {embedded: 'always'}} en tant qu'utilisateurs dans la charge utile du serveur.