2016-04-01 3 views
0

Mon modèle de données Ember:Comment puis-je utiliser ember-simple-auth pour définir un en-tête dans une API personnalisée avec des données d'ember?

import DS from 'ember-data'; 
import config from './../config/environment'; 

export default DS.Model.extend({ 
    ... 

    useRepairPackage(repairPackageId) { 
    this.get('session').authorize('authorizer:digest', (headerName, headerValue)=> { 
     const headers = {}; 
     headers[headerName] = headerValue; 
     Ember.$.ajax({url: `${config.host}/${config.namespace}/quotations/${this.get('id')}/use_repair_package.json`, type: "PATCH", headers: headers}).then((result)=> { 
     return this.reload(); 
     }); 
    }); 
    } 
}); 

Je vérifie ember-simple-auth document, je trouve cette façon d'ajouter session en-tête. Mais il ne peut pas fonctionner dans model, et comment puis-je ajouter la vue dans cette action? Merci.

+0

Il est mauvais Vous ne devriez pas faire des choses telles que l'autorisation dans le modèle.Les actions devraient être sur les routes/contrôleurs –

+0

@GennadyDogaev Ok. Je pense qu'il doit mettre en route – JeskTop

Répondre

0

Vous pouvez exposer le service de session au modèle, puis y accéder.

d'exportation par défaut DS.Model.extend ({ session:. Ember.inject.service ('session'),

Et maintenant accéder à la session ci-dessous à l'intérieur d'envoyer les données de session

+0

J'essaie ça, ça ne marche pas pour moi. – JeskTop