2011-01-05 12 views
6

ho qualcosa di simileCome forzare il metodo per un modulo formtastic da inserire?

semantic_form_for @whatever, :url => whatever_url 

che genera un da con

method="post" 

ho bisogno di essere messo, ho già provato:

semantic_form_for @whatever, :url => whatever_url, :html => {:method => "put"} 

e

semantic_form_for @whatever, :url => whatever_url, :html => {:method => :put} 

e

semantic_form_for @whatever, :url => whatever_url, :html_args => {:method => :put} 

senza alcun effetto. Qualche idea su come è fatta?

+0

È @whatever già esistente nel database? – Heikki

+0

Heikki, no, @whatever è un nuovo record. – Pablo

+0

Hai provato la mia soluzione? Voglio solo sapere se funziona .. – Lichtamberg

risposta

7

Sta generando un modulo simile a questo?

 
<form action="..." method="POST"> 
... 

Se è così, probabilmente sta ancora creando una richiesta PUT. Rails determina la richiesta POST, PUT o DELETE utilizzando invece l'attributo _method. Il modo migliore per verificare che funzioni è controllare i log per vedere che una richiesta PUT sta arrivando. È anche possibile forzare questo avvenga con l'aggiunta di un attributo nascosto al form in questo modo:

 
<input type="hidden" name="_method" value="put" /> 
Problemi correlati