Use “error_messages” in Rails 3.2? (raises “undefined method” error)

I am getting the following error in my Rails 3.2 functional tests:

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

The view code that is creating the error:

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

Here is the code in my controller that is calling the above view code:

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

And here is the test I am running:

 

 

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





正确解决方法: <%= form_for [@camp,@program]do|f|%><%@program.errors.full_messages.each do|msg|%><p><%= msg %></p><%end%><%= f.label :name %><%end%>



参考路径:http://stackoverflow.com/questions/10002140/use-error-messages-in-rails-3-2-raises-undefined-method-error




posted @ 2014-02-28 16:48  Duerbin  Views(464)  Comments(0Edit  收藏  举报