Use "error_messages" in Rails 3.2? (raises "undefined method" error)
ruby, ruby-on-rails, ruby-on-rails-3, ruby-on-rails-3.2
Solution
try the following code to iterate all errors, if any.
<%= form_for [@camp, @program] do |f| %>
<% @program.errors.full_messages.each do |msg| %>
<p><%= msg %></p>
<% end %>
<%= f.label :name %>
<% end %>
Problem
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 ``` Does anyone have any insight into why this error is occurring in a Rails 3.2 app? Thanks!