J'ai récemment cherché dans Rails et j'ai remarqué qu'il y avait beaucoup de références à current_user
. Cela vient-il uniquement de Devise? et dois-je le définir manuellement moi-même même si j'utilise Devise? Y a-t-il des prérequis à l'utilisation current_user
(comme l'existence de sessions, d'utilisateurs, etc.)?
la source
session
est intégré à Rails. Par défaut, il utilise un cookie pour maintenir l'état d'un client entre les demandes. Voir guides.rubyonrails.org/security.html#sessions pour plus d'informations.return unless session[:user_id]
comme indiqué dans la réponse de Zach - sans cela, chaqueif current_user
vérification en étant déconnecté déclenchera une autre requête de base de données.Oui,
current_user
utilisesession
. Vous pouvez faire quelque chose de similaire dans votre contrôleur d'application si vous souhaitez lancer votre propre authentification:la source
session
est un peu commeparams
, sauf qu'il persiste pour plusieurs demandes. Vous pouvez l'utiliser pour stocker toute sorte de paramètre persistant unique à vos utilisateurs individuels (jusqu'à ce que leur session expire ou qu'ils se déconnectent). Vous pouvez en savoir plus ici: ActionController: Accéder à la session