2011-01-05 56 views
6

我有類似如何強制formtastic形式的方法被放置?

semantic_form_for @whatever, :url => whatever_url 

產生一個從

method="post" 

我需要它來放,我已經嘗試過:

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

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

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

沒有效果。任何想法是如何完成的?

+0

是@whatever已經在數據庫中存在的? – Heikki 2011-01-05 21:19:45

+0

Heikki,不,不管是什麼新紀錄。 – Pablo 2011-01-07 09:54:24

+0

你試過我的解決方案嗎?只想知道它是否有效。 – Lichtamberg 2011-01-13 23:12:59

回答

7

難道生成看起來是這樣的一種形式?

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

如果是這樣,那麼它可能仍然在創建一個PUT請求。 Rails通過使用_method屬性來確定POST,PUT或DELETE請求。驗證這是否正常工作的最好方法是檢查日誌以查看PUT請求是否正在通過。您還可以強制通過增加一個隱藏屬性到窗體像這樣的事情發生:

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