Rails 3 w / Devise:如果用户没有确认电子邮件地址,如何在所有页面上显示消息?

时间:2012-01-14 22:23:29

标签: ruby-on-rails ruby-on-rails-3 devise email-confirmation

我正在使用Devise gem开发Rails 3应用程序进行身份验证。我还使用Devise的可确认模块在用户注册时向用户发送电子邮件,要求他们确认他们的电子邮件地址。

我允许用户登录即使他们没有确认他们的电子邮件地址(最多20天),但是我想在每个页面的顶部显示一条消息,提醒他们他们没有确认他们的电子邮件地址,他们仍然可以登录,而不会在X天内登录。

我应该如何处理这个问题? (即任何有用的宝石或小贴士)

非常感谢!!!

1 个答案:

答案 0 :(得分:2)

查看此处的文档: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 %>