【发布时间】:2011-04-27 14:49:53
【问题描述】:
我在 Rails 3 应用程序中使用 Devise 进行身份验证。我通过 db:migrate 将 first_name 和 last_name 列添加到数据库中。注册表修改如下:
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<p><%= f.label :first_name %><br />
<%= f.text_field :first_name %></p>
<p><%= f.label :last_name %><br />
<%= f.text_field :last_name %></p>
<p><%= f.label :email %><br />
<%= f.text_field :email %></p>
<p><%= f.label :password %><br />
<%= f.password_field :password %></p>
<p><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></p>
<p><%= f.submit "Sign up" %></p>
<% end %>
用户模型中的验证:
validates :first_name, :last_name, :email, :password, :password_confirmation, :presence => true
由于某种原因,我收到“名字不能为空”和“姓氏不能为空”的验证错误。有趣的是,这是除了 Stock Devise 字段之外添加的两个字段。 Devise 是否会阻止向 User 模型添加其他字段?还有什么其他原因?
谢谢。
【问题讨论】:
-
你能看看你的 user.rb 是否定义了 attr_accessible 吗?
标签: ruby-on-rails ruby-on-rails-3 devise