J'ai implémenté l'application Authlogic dans mes rails qui fonctionne et qui fonctionne très bien. Les utilisateurs peuvent se connecter, déconnecter, etc.Rails + problème Authlogic @current_user - La méthode "Show" ne fonctionne plus
Cependant, comme je l'ai changé mes méthodes dans le users_controller utiliser la variables @current_user, aucun de mes méthodes utilisateur ou formes (autres que « index » étrangement ...) travail!
Par exemple, ces méthodes « Afficher » fonctionne et montre le profil de l'utilisateur pour tous les utilisateurs (Note: Je veux limiter finalement cela au utilisateur actuellement connecté en quelque sorte):
def show
@user = User.find(params[:id])
end
Si je suis le méthode show comme indiqué dans le Authlogic rails acteurs et l'exemple officiel:
def show
@user = @current_user
end
Je reçois toutes sortes de undefined method METHOD for nil:NilClass
erreurs. Il semble que la variable @current_user ne contienne aucune information de l'utilisateur.
Je suppose que le @current_user tire information de la méthode current_user tel que défini dans le contrôleur d'application ci-dessous:
Qu'est-ce que je manque? Mon intuition est qu'il n'y a pas de correspondance entre l'objet Utilisateur du modèle utilisateur et la méthode current_user. Toute aide serait grandement appréciée!
Merci d'avance!
~ Dan
Corriger, fournit la 'Devise current_user' méthode pour vous. –
Il est logique pour moi de savoir que j'appelle une méthode plutôt qu'une variable prédéfinie. C'était un peu déroutant car une grande partie de l'exemple de code en ligne l'a mis à @user = @current_user. Merci encore pour votre aide! C'est pourquoi j'aime StackOverflow – thoughtpunch