我刚刚在我的数据库中添加了一个新列。迁移没有抛出任何错误,数据库看起来也很好。我有一张表格,如此;
<h1>Sign up as a new user</h1>
<% @user.password = @user.password_confirmation = nil %>
<%= error_messages_for :user %>
<% form_for(@user) do |f| -%>
<p><%= f.label :login %><br/>
<%= f.text_field :login %></p>
<p><%= f.fullname :fullname %><br/>
<%= f.text_field :fullname %></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, 'Confirm Password' %><br/>
<%= f.password_field :password_confirmation %></p>
<p><%= submit_tag 'Sign up' %></p>
<% end -%>
字段f.fullname是我添加的新列。当我尝试加载页面时,它不断抛出错误;
undefined method `fullname' for #<ActionView::Helpers::FormBuilder:0xb6fa73e4>
我的user.rb模型中有这个
attr_accessible :login, :email, :fullname, :password, :password_confirmation
我在这里遗漏了一些关于为什么Rails不断抛出错误的东西?
感谢。
答案 0 :(得分:1)
看起来错误来自您视图中的拼写错误:
<p><%= f.fullname :fullname %><br/>
<%= f.text_field :fullname %></p>
f.fullname
应为f.label
。
一个线索是错误来自FormBuilder,而不是ActiveRecord派生词。