2016-01-12 3 views
0

Je suis une extrémité de mise en œuvre avant de Braise 1,13 avec un Rails arrière-plan et ayant le problème suivant:de l'avant Ember à Rails arrière ne se produit pas

Une fois l'utilisateur authentifié, je ne semble pas pour être en mesure de récupérer l'enregistrement de l'utilisateur à partir du back-end. Le débogueur du navigateur ne montre même pas une demande en cours. Ce code est:

// app/services/session-user.js 
import Ember from 'ember'; 

const { inject: { service }, RSVP } = Ember; 

export default Ember.Service.extend({ 
    session: service('session'), 
    store: service(), 

    loadCurrentUser() { 
     currentUser: { 
     var userId = this.get('user_id'); 
     if (!Ember.isEmpty(userId)) { 
      return this.get('store').findAll('user', userId); 

     } 
     } 
    } 
}); 

Il existe un contrôleur de connexion qui gère l'authentification. Mais le code pour obtenir les données sont dans la route des applications:

// app/routes/application.js 
import Ember from 'ember'; 
import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin'; 

const { service } = Ember.inject; 

export default Ember.Route.extend(ApplicationRouteMixin, { 

    sessionUser: service('session-user'), 

    beforeModel() { 
    if (this.session.isAuthenticated) { 
     return this._loadCurrentUser(); 
    } 
    }, 
    sessionAuthenticated() { 
    this._loadCurrentUser(); 
    }, 

    _loadCurrentUser() { 
    return this.get('sessionUser').loadCurrentUser(); 
    }, 

}); 

Pour mesure supplémentaire que je suis en train de définir le magasin de session:

// app/session-stores/application.js 
import Adaptive from 'ember-simple-auth/session-stores/adaptive'; 

export default Adaptive.extend(); 

Si des fichiers je poster, s'il vous plaît laissez-moi savoir.

Tous les conseils seront très appréciés car je suis plutôt nouveau pour les braises. J'ai passé plusieurs heures à chercher sans succès, car les choses semblent avoir beaucoup changé dans toutes les versions.

Répondre

0

Regardez votre code de service.

var userId = this.get('user_id'); 
    if (!Ember.isEmpty(userId)) { 
     return this.get('store').findAll('user', userId); 

    } 

Je ne vois pas le code que vous avez fourni en question où vous configurez la variable user_id. Donc, si id_utilisateur n'est pas défini, l'instruction if ne sera pas exécutée en raison de !.

+0

Merci! Il est supposé être: 'var userId = this.get ('session.data.authenticated.user_id');' Alors maintenant je passe à un autre problème ... – user2953607