我正在使用 Rails 3.2 和 Devise。我想知道 Devise 是否提供像密码确认一样的“电子邮件(地址)确认”字段,供用户输入密码字段,然后在网站发送确认电子邮件或处理注册之前输入密码确认字段。如果没有,我必须添加 email_confirmation 并验证用户模型(在rails g devise User 之后)吗?
提前致谢
最佳答案
我还没有发现 devise 是否符合您的要求(问题指的是第二个 :email_confirmation 字段,类似于 :password_confirmation,“可确认”似乎仅与确认链接相关)。我也必须这样做,并且我想出了如何使用内置事件记录验证来做到这一点(rails 3.2.8,devise 2.1.2):
- 在您的模型中,将
confirmation: true
添加到您的电子邮件验证中,并将:email_confirmation
添加到attr_accessible
。 - 在您的 View 中添加
:email_confirmation
字段。
作为示例,在您的模型中(不假设其他验证或 attr_accessibles):
attr_accessible :email, :email_confirmation
validates :email, confirmation: true
它将使用内置的事件记录“确认”验证(与密码相同)。最后,在您的 View 中,您需要添加如下内容:
<div><%= f.label :email_confirmation %>
<%= f.email_field :email_confirmation %></div>
可能有一种更干净的方法,但这对我有用。然而,到目前为止,我对 devise 的唯一经验是将其添加到现有模型中,当它为您生成模型时我还没有使用过它(大概是相同的)。
关于ruby-on-rails - rails 与设计 : Email Confirmation text field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942305/