2017-10-19 22 views
1

J'utilise l'outil dans une application rails que je construis. Je voudrais obtenir l'ID de l'utilisateur actuellement connecté, avec current_user.id, dans mon contrôleur, sans le passer en paramètre de ma vue. Y a-t-il un moyen de le faire? MerciAccéder à la méthode current_user concevoir à partir du contrôleur de rails

+3

Je dois le demander, avez-vous essayé d'utiliser 'current_user.id'? –

+0

@ Sebastián Palma oui je l'ai essayé et a obtenu l'erreur tihs: méthode non définie 'id 'pour nil: NilClass – RT5754

Répondre

2

Si vous avez installé Devise correctement et n'avez pas cassé quelque chose en remplaçant les contrôleurs Devise, vous devriez pouvoir accéder à current_user.id depuis le contrôleur. Cette méthode ne fonctionne que si un utilisateur est connecté dans lequel vous pouvez tester avec la méthode user_signed_in?. Enfin, cela suppose que le nom de ressource Devise utilise effectivement user. C'est la valeur par défaut, mais il est possible de configurer Devise pour qu'il fonctionne avec différents noms de ressources.

+0

J'ai utilisé cette rampe concevoir app starter: https://github.com/RailsApps/rails-devise – RT5754

+0

@ RT5754: Le' La méthode current_user' devrait être disponible dans tous les contrôleurs de l'application de démarrage que vous avez liée. –

+0

et si j'ai créé de nouveaux contrôleurs, dois-je inclure un concept ou quelque chose pour accéder à ces méthodes? – RT5754