Devise crée des méthodes pratiques à la volée qui représentent l'utilisateur actuellement connecté.
Cependant vous devez noter que le nom de la méthode générée inclut le nom de la classe de votre modèle utilisateur. Par exemple, si votre modèle Devise s'appelle User
' alors l'utilisateur actuellement connecté est accessible avec ' current_user
et si votre classe Devise est Admin
' alors l'utilisateur admin connecté peut être accédé avec ' current_admin
'.
Il existe un certain nombre d'autres méthodes créées avec des conventions similaires, par exemple ' user_signed_in?
ou encore admin_signed_in?
qui sont vraiment bien.
Ces méthodes sont disponibles dans les contrôleurs et les vues, de sorte que vous pourriez avoir les éléments suivants dans une vue :
<% if user_signed_in? %>
<div>Signed in as... <%= current_user.email %></div>
<% end %>
Enfin, si vous utilisez deux ou plusieurs modèles Devise dans votre application (par exemple User et Admin), vous pouvez utiliser l'option ' anybody_signed_in?
La méthode pratique ' pour vérifier si l'un de ces types d'utilisateurs est connecté :
<% if anybody_signed_in? %>
<h2>Special offers</h2>
<p>All registered users will receive free monkeys!</p>
<% end %>
Mise à jour :
Depuis la version 1.2.0 de Devise, ' anybody_signed_in?
' a été déprécié et remplacé par ' signed_in?
'