获取异常尝试使用设计(自定义设计)在表单中添加字段?

时间:2011-06-04 23:14:20

标签: ruby-on-rails-3 devise

我正在尝试在表单中添加字段名,我在视图模板中更改了用户模型,更新了表( rails g add_firstname_to用户名:字符串迁移)。但是我仍然得到#的异常未定义方法`firstname'。我缺少什么?我的文件看起来像这样

视图

<h2>Sign up</h2>
<%= form_for(resource_name, resource, :url => registration_path(resource_name)) do   |f|     %>
  <%= f.error_messages %>
<table>
  <tr><td><label>First name</label></td>
  <td><%= f.text_field :firstname %></td></tr>


  <tr><td><label>Email</label></td>
  <td><%= f.text_field :email %></td></tr>

   <tr><td><%= f.label :password %></td>
<td><%= f.password_field :password %></td></tr>

<tr><td><%= f.label :password_confirmation %></td>
<td><%= f.password_field :password_confirmation %></td></tr>

</table>
<p><%= f.submit "Sign up" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>

用户模型类

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :lockable, :timeoutable and :activatable
  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation,:firstname
end

1 个答案:

答案 0 :(得分:1)

这个一步一步tutorial 会告诉你一切。 :)

查看您的代码,提出两条建议:

  • 你说你跑了rails g add_firstname_to user firstname:string migration 我希望这是一个错字,但你应该使用add_firstname_to_users - 注意用户的 s

  • 正如第一条评论所示,您是否运行了rake db:migrate