Подтвердить что ты не робот

Использовать "error_messages" в Rails 3.2? (вызывает ошибку undefined method)

В моих функциональных тестах Rails 3.2 появляется следующая ошибка:

ActionView:: Template:: Ошибка: undefined метод `error_messages 'для # < ActionView:: Помощники:: 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?

Спасибо!

4b9b3361

Ответ 1

попробуйте использовать следующий код для повторения всех ошибок, если они есть.

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