2012-01-27 20 views
0

データベースに新しい列を追加したばかりです。移行でエラーが発生することはなく、データベースは移行が正常に完了したように見えます。私はそのような形をしています。Rails ActionView form_for failure

<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> 

私は

attr_accessible :login, :email, :fullname, :password, :password_confirmation 

私user.rbモデルでこれを持っているが、私はRailsがそのエラーを投げ続ける理由として、ここで何かが足りないのですか?

ありがとうございました。

+0

ActionView :: FormBuilderはschema.rbファイルを使用して、フォームの作成に使用できるフィールドを判別しますか?これはschema.rbファイル内にもあります。 – Skittles

答えて

1

それはエラーがあなたのビューのタイプミスから来ているように見えます:

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

f.fullnamef.labelでなければなりません。

エラーは、FormBuilderから来ており、ActiveRecordの派生語ではないことがわかります。

+0

うわー!私はそれを捕まえなかったとは信じられません。私はどれほど恥ずかしかったのか、あなたの答えにどれくらい感謝しているのか、私には分かりません。ありがとうございました! :) – Skittles

+0

それは、btw働いた。 – Skittles

関連する問題