2012-04-03 11 views
12

otrzymuję następujący błąd w moich Rails 3.2 testów funkcjonalnych:Użyj "error_messages" w Railsach 3.2? (Podnosi „Metoda niezdefiniowana” błąd)

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

kodu widoku, który je utworzył błąd:

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

Oto kod w moim kontrolera, który dzwoni powyższy kod wyświetlania:

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

A oto test Używam:

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 

Czy ktoś ma wgląd w to, dlaczego ten błąd występuje w aplikacji Rails 3.2?

Dzięki!

+2

odczytu: http://apidock.com/rails/ActionView/Helpers/FormBuilder/error_messages zobacz także: http://stackoverflow.com/questions/3873190/f-error-messages-in-rails- 3-0 –

+1

DZIĘKUJEMY - szukałem dokumentacji mówiącej, że ta metoda została wycofana, ale nic się nie pojawiło. – linusthe3rd

+0

gem 'dynamic_form' – shilovk

Odpowiedz

24

wypróbuj poniższy kod, aby powtórzyć wszystkie błędy, jeśli występują.

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

Należy to zrobić poprzez częściowe renderowanie. 'render partial: 'error', kolekcja: @ program.errors.full_messages' – FUT

Powiązane problemy