Rails concevoir: user_signed_in? ne fonctionne pas
J'ai ceci dans mon point de vue:
<% if user_signed_in? %>
<%= current_user.email %>
<% else %>
<%= link_to "Sign in", new_user_session_path %><br />
<%= link_to "Opret", new_user_session_path %><br />
<% end %>
Mais quand ont signé en tant qu'utilisateur:
Je reçois toujours les liens de vue:
<%= link_to "Sign in", new_user_session_path %><br />
<%= link_to "Opret", new_user_session_path %><br />
Pourquoi l'aide ne fonctionne pas?
source d'informationauteur John
Vous devez vous connecter pour publier un commentaire.
Avez-vous utilisé concevoir avant le filtre dans votre contrôleur?
Pas sûr de ce qui est derrière le user_signed_in? méthode, votre connexion ne fonctionne pas correctement ou que votre méthode est cassé.
Peut-être essayer ceci, si cela ne fonctionne pas, je voudrais prendre un coup d'oeil à ce qui se passe de mal avec la connexion proprement dite.
Assurez-vous que vous utilisez le bon modèle. Par exemple, si votre modèle est membre, alors vous devriez utiliser
member_sign_in
au lieu deuser_sign_in
.Si la connexion fonctionne correctement, il pourrait être à cause d'une sorte de mise en cache?
Cette pourrait être une explication possible.
Vous pourriez avoir une condition pré-existante
current_user
méthode qui cesse de Concevoir decurrent_user
dans lesuser_signed_in?
de retourner des valeurs attendues.J'avais rencontré exactement le même problème et l'a résolu en procédant de la
$bundle exec rails g devise user
de nouveau. Mon problème a étédevise_for users
a été en quelque sorte manquant dans le fichier de routage.