Rails 3 w / Devise: Comment afficher le message sur toutes les pages si l'utilisateur n'a pas confirmé l'adresse e-mail?

StackOverflow https://stackoverflow.com/questions/8865840

Question

Je développe une application Rails 3 en utilisant la gemme Devise pour l'authentification.J'utilise également le module de confirmation de Devise pour envoyer des e-mails aux utilisateurs lors de leur inscription, en leur demandant de confirmer leur adresse e-mail.

J'autorise les utilisateurs à se connecter même s'ils n'ont pas confirmé leur adresse e-mail (pour un maximum de 20 jours), mais je souhaite afficher un message en haut de chaque page pour leur rappeler qu'ils n'ont pas confirmé leuradresse e-mail et qu'ils peuvent toujours se connecter sans le faire pendant X jours.

Des idées sur la façon dont je devrais aborder cela?(c'est-à-dire toutes les gemmes ou astuces utiles)

Merci beaucoup !!!

Était-ce utile?

La solution

Consultez la documentation ici: http://rubydoc.info/github / plataformatec / devise / master / Devise / Models / Confirmable

Il semble qu'il existe une méthode confirmed? que vous pouvez appeler sur l'objet User pour voir si elles sont confirmées ou non.

Je voudrais donc simplement vérifier la confirmation dans votre fichier views/layouts/application.html.erb:

<% if user_signed_in? && !current_user.confirmed? %>
  <div>
    Please confirm your account by clicking the link in the email we sent to <%= current_user.email %>
  </div>
<% end %>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top