【问题标题】:Rails ActionView form_for failureRails ActionView form_for 失败
【发布时间】:2012-02-20 02:41:43
【问题描述】:

我刚刚在我的数据库中添加了一个新列。迁移没有引发任何错误,并且数据库看起来也很好地进行了迁移。我有这样的表格;

<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 不断抛出该错误?

谢谢。

【问题讨论】:

  • ActionView::FormBuilder 是否使用 schema.rb 文件来确定哪些字段可用于构建表单?它也在 schema.rb 文件中。

标签: ruby-on-rails form-for actionview


【解决方案1】:

看起来错误来自您视图中的拼写错误:

<p><%= f.fullname :fullname %><br/>
<%= f.text_field :fullname %></p>

f.fullname 应该是f.label

一个线索是错误来自 FormBuilder 而不是 ActiveRecord 派生。

【讨论】:

  • 哇!我不敢相信我没听懂。我无法告诉你我有多尴尬,但我也非常感谢你的回答。谢谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
相关资源
最近更新 更多