2013-08-06 3 views

Répondre

2

Je ne sais pas ce que vous entendez par « différence significative », tous ces faire des choses différentes:

authenticate_user! # Signs user in or redirect 
user_signed_in?  # Checks whether there is a user signed in or not 
current_user  # Current signed in user 

Source: https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb

+1

facepalm .. un peu de sommeil privé et j'aurais dû regarder les sources d'abord. merci .. – goo

+0

Question rapide (peut-être un autre muet), j'utilise 'before_filter: authenticate_user !, seulement: [: index]' .. Il n'y a pas de problème avec l'utilisation de ce sur "user_signed_in?", non? – goo

+0

Dépend de ce que vous voulez faire - 'authenticate_user! 'Redirigera un utilisateur invalide, mais seulement sur la route' index'. 'user_signed_in?' renvoie un booléen, donc vous pouvez l'utiliser pour un meilleur contrôle si vous en avez besoin ... –

2

Il suffit de lire les noms de variables que vous pouvez voir qu'ils sont pas la même chose.

authenticate_user! 

Cette méthode permet de vérifier l'authentification de l'utilisateur, c'est-à-dire de vérifier si le nom de connexion et le mot de passe correspondent.

user_signed_in? 

Cette méthode vérifie si un utilisateur est connecté à l'application. S'il y a des données contenues dans la session qui indique à l'application d'un utilisateur est connecté.

current_user 

Cela devient l'utilisateur qui est connecté à l'application.

Questions connexes