2012-05-02 13 views
14

Tengo un modelo 'Artículo' y un modelo 'Calificaciones' anidado dentro de artículos.Los rieles cambian el enrutamiento de enviar en form_for

/artículos/123/calificaciones

que quieren cambiar el encaminamiento de la f.submit en las calificaciones/_form.html.erb ahora es así, que después de pulsar el botón Enviar, mis rutas de aplicación a

/clasificaciones/111

pero quiero bien para que puedan

/article/123

¿Cómo puedo cambiar la derrota ing en un botón form_for f.submit. he encontrado aquí algo como esto:

<% form_for :thing, :url => 
url_for(:action => "update", :id => @thing) do |f| %> 

Pero esto no trabajo para mis rieles 3.2. Gracias por su ayuda,

+0

Olvidó agregar '=' después de '<%'. Desafortunadamente no entendí en qué controlador y acción desea enviar el formulario. –

Respuesta

19

: url - La URL a la que se envía el formulario. Toma los mismos campos que pasa a url_for o link_to. En particular, también puede pasar aquí una ruta específica directamente. Predeterminado a la acción actual.

<% form_for :thing, :url => {:action => "update", :id => @thing} do |f| %> 

También puede pasarle el nombre de ruta mediante el ayudante. por lo que también puede hacer algo como

:url => update_article_path(@article) 
+0

no, esto no funciona para mí >> form_for (@rating),: url => (: action => "show",: id => @article) do | f | >> el error que obtengo es este >> error de sintaxis, inesperado tASSOC, esperando keyword_end ... nd = – Lailo

+0

He editado la respuesta verifique ahora – Abid

3

Trate form_for (:thing, url:{:controller=>'thing', :action=>'update'}, html:{method:'put'}).

Cuestiones relacionadas