RAILS 3.2&Devise:电子邮件确认文本字段?

smi*_*ike 5 ruby-on-rails devise

我正在使用Rails 3.2和Devise.我想知道Devise是否提供了"电子邮件(地址)确认"字段,就像密码确认一样,用户输入密码字段,然后在网站发出确认电子邮件或处理注册登记之前输入密码确认字段.如果没有,我是否必须添加email_confirmation并验证用户模型(在rails g devise User之后)?

提前致谢

nig*_*ber 12

我没有发现设计是否符合你的要求(问题是指第二个:email_confirmation字段类似于:password_confirmation,'确认'似乎只与确认链接有关).我也必须这样做,我想出了如何使用内置主动记录验证(rails 3.2.8,devise 2.1.2)来做到这一点:

  1. 在你的模型添加confirmation: true到您的电子邮件验证和:email_confirmationattr_accessible.
  2. 在您的视图中添加一个:email_confirmation字段.

例如,在您的模型中(不假设其他验证或attr_accessibles):

attr_accessible :email, :email_confirmation
validates :email, confirmation: true
Run Code Online (Sandbox Code Playgroud)

这将使用内置的活动记录'确认'验证(与密码相同).最后,在您的视图中,您需要添加以下内容:

<div><%= f.label :email_confirmation %>
<%= f.email_field :email_confirmation %></div>
Run Code Online (Sandbox Code Playgroud)

可能有一种更清洁的方式,但这对我有用.然而,当将其添加到现有的模型,我还没有当它产生你的模型中使用它我与色器件唯一的经验,到目前为止已经(据推测这是大致相同).


Tri*_*rip -3

假设您安装了 gem,当您执行此功能时:

rails generate devise:install
Run Code Online (Sandbox Code Playgroud)

它将生成您的迁移文件,其中包含您需要按照您所指的方向进行操作的 email_confirmation 内容。您所要做的就是不要将其注释掉。否则,我会注释掉所有其他我不需要的东西。

您所指的模块称为可确认的

假设您还没有找到这个,此链接将解释其余部分:

如何使用 Devise 设置电子邮件确认?