2012-04-03 12 views
12

私は私のRails 3.2の機能テストでは、次のエラーが取得しています:エラー作成されRails 3.2で "error_messages"を使用しますか? (上げる「未定義のメソッド」エラー)

ActionView::Template::Error: undefined method `error_messages' for # <ActionView::Helpers::FormBuilder:0x007ff8ad00d3b0>

ビューコード:ここで

<%= form_for [@camp, @program] do |f| %> 
    <%= f.error_messages %> # problematic code 
    <%= f.label :name %> 
<% end %> 

コードです

render :action => "edit", :status => :bad_request 

そして、ここでは、私が実行しているテストです:

上記のビューのコードを呼び出している私のコントローラで
test "update a program with a bad request" do 
    put :update, 
    :id => programs(:traditional).to_param, 
    :program => { 
     :min_age => "a" 
    }, 
    :camp_id => camps(123).uri 

    assert_response :bad_request 
end 

このエラーがRails 3.2アプリで発生している理由について誰にも分かりませんか?

ありがとうございます!

+2

読む:http://apidock.com/rails/ActionView/Helpers/FormBuilder/error_messagesも参照してください。http://stackoverflow.com/questions/3873190/f-error-messages-in-rails- 3-0 –

+1

ありがとうございます - 私はいくつかのドキュメントを探していましたが、このメソッドは推奨されていませんでしたが、何も表示されませんでした。 – linusthe3rd

+0

gem 'dynamic_form' – shilovk

答えて

24

次のコードを試して、すべてのエラーがあればそれを繰り返してください。

<%= form_for [@camp, @program] do |f| %> 
    <% @program.errors.full_messages.each do |msg| %> 
     <p><%= msg %></p> 
    <% end %> 
<%= f.label :name %> 
<% end %> 
+1

部分的なレンダリングで行う必要があります。 'render partial: 'エラー'、コレクション:@ program.errors.full_messages' – FUT

関連する問題