我尝试在devise.rb中设置config.authentication_keys = [:actor_id], 这是我的表格:
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :name %><br />
<%= f.text_field :name %></div>
<div><%= f.label :serial_number %><br />
<%= f.text_field :serial_number %></div>
<div><%= f.label :email %><br />
<%= f.text_field :email %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
我在自定义表中保存了name,serial_number和email值,而不是设备生成表我也删除了默认的电子邮件字段。但它仍然抛出以下错误:
Can't mass-assign protected attributes: email
我尝试将电子邮件重命名为电子邮件,但它会抛出以下错误:
undefined method `downcase!' for 1:Fixnum
我做错了什么?
答案 0 :(得分:0)
您需要将其添加到您的用户模型中:
attr_accessible :email
检查此Railscast并了解:)
http://railscasts.com/episodes/26-hackers-love-mass-assignment