2012-07-25 1 views
2

J'ai conçu le 2.1.2 et cancan 1.6.8 installé.current_user renvoie zéro, même lorsque user_signed_in? Retourne vrai

L'assistant current_user fonctionne bien dans mes contrôleurs, mais ne fonctionne pas avec les modèles d'affichage. Je suis confus pourquoi cela arrive. J'ai pu utiliser current_user dans mes fichiers de vue avant.

J'ai essayé d'ajouter le before_filter authenticate_user! et cela n'a pas aidé.

Pire encore, j'ajouterai un filtre avant à l'application_controller qui dit @current_user = current_user mais cela semble idiot.

Il est étrange que current_user renvoie zéro alors que user_signed_in? renvoie la valeur true.

Avez-vous des idées pour résoudre ce problème?

Répondre

4

En attendant, warden.authenticate(:scope => :user) semble retourner le current_user alors je vais juste l'ajouter à mon assistant d'application.

+0

Je rencontre ce problème et je ne trouve pas de solution. Votre solution de contournement ci-dessus fonctionne, mais je me demandais si vous avez déjà trouvé une solution au problème. – nick

+1

Je l'ai fait. J'avais accidentellement créé une méthode d'assistance appelée 'current_user' qui devait surcharger l'assistant de conception. – Cyrus

+0

Merci pour la réponse, c'était en fait mon problème aussi. Je faisais une mise à niveau depuis les rails 2 et j'utilisais restful_authentication, qui avait une aide utilisateur qui interférait. – nick

Questions connexes