2011-08-04 9 views
8

Siento que me falta algo simple aquí. Estoy usando form_for helper con un objeto. Especifico el url, el formato y el método html. Sin embargo, cuando se procesa la url en el atributo de acción no recupera el formato. Aquí está mi código:Form_for con url, formato y opciones html

=form_for(@site, url: compile_documents_path(@site), format: :csv, html: { method: :post}) do |f| 

Mi controlador está configurado para responder a un formato CSV, y simplemente llamar a un método to_csv en el objeto de sitio.

Alguna idea de por qué no está funcionando como se esperaba.

Respuesta

22

no probado, pero creo que la parte formato debe entrar en el asistente de url:

=form_for(@site, url: compile_documents_path(@site, format: :csv)) do |f| 

Plus: No creo que se tiene que especificar la parte method: :post, como form_for decidirá si debe utilizar uno PUT o POST, según si @site es un registro nuevo o existente.

+0

Heh yep que hizo el truco. Eso me vino a la mente, pero estaba tratando de ver si había documentación sobre opciones para los métodos dinámicos creados por el archivo de rutas. Supongo que no fui lo suficientemente valiente como para intentarlo. – agmcleod

Cuestiones relacionadas