Je reçois l'erreur suivante dans Rails:Rails5 - variable locale non définie mais il est global
undefined local variable or method `current_user' for #<UserController:0x0000000458d708> Did you mean? @current_user
Le fragment de code correspondant à cette erreur est:
authorize @current_user
Comme vous pouvez le voir, je clairement signifie @current_user
comme le message d'erreur suggère, et j'utilise également @current_user
comme le message d'erreur suggère. Pourquoi Rails pense-t-il que je veux dire une variable inexistante locale quand je m'attends à ce qu'elle soit globale? La méthode authorize
provient de Pundit.
J'ai ajouté une déclaration d'impression afin de vérifier si la variable globale existe, et le code suivant imprime efficacement un utilisateur valide:
p @current_user
authorize @current_user
C'était la cause du problème, merci! Acceptera en 6 minutes – thepieterdc