Rails 3 w / Devise: Как показать сообщение на всех страницах, если пользователь не подтвердил адрес электронной почты? - PullRequest
1 голос
/ 15 января 2012

Я разрабатываю приложение Rails 3, использующее гем Devise для аутентификации. Я также использую подтверждающий модуль Devise для отправки электронных писем пользователям, когда они регистрируются, с просьбой подтвердить свой адрес электронной почты.

Я разрешаю пользователям входить в систему, даже если они не подтвердили свой адрес электронной почты (не более 20 дней), однако я хочу отображать сообщение в верхней части каждой страницы, напоминая им, что они не подтвердили свои адрес электронной почты и что они все еще могут войти без регистрации в течение X дней.

Есть идеи, как мне к этому подойти? (т.е. любые полезные камни или советы)

Большое спасибо !!!

1 Ответ

2 голосов
/ 15 января 2012

Глядя на документы здесь: http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Confirmable

Похоже, есть метод confirmed?, который можно вызвать для объекта User, чтобы проверить, подтверждены они или нет.

Так что я бы просто поставил чек на подтверждение в вашем 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 %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...