2012-04-03 19 views
12

estoy recibiendo el siguiente error en mis Rails 3.2 Pruebas funcionales:¿Utiliza "error_messages" en Rails 3.2? (Genera error "método no definido")

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

El código de la vista que está creando el error:

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

Aquí está el código en mi controlador que está llamando el anterior código de la vista:

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

Y aquí está la prueba me postulo:

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 

¿Alguien tiene alguna idea de por qué ocurre este error en la aplicación Rails 3.2?

Gracias!

+2

lectura: http://apidock.com/rails/ActionView/Helpers/FormBuilder/error_messages véase también: http://stackoverflow.com/questions/3873190/f-error-messages-in-rails- 3-0 –

+1

GRACIAS: estaba buscando documentación que dijera que este método estaba en desuso, pero que no aparecía nada. – linusthe3rd

+0

gem 'dynamic_form' – shilovk

Respuesta

24

intente con el siguiente código para repetir todos los errores, si los hubiera.

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

Debe hacerse a través de una representación parcial. 'render partial: 'error', colección: @ program.errors.full_messages' – FUT

Cuestiones relacionadas