我有一個button_to,我想執行一個PUT動作(只有一件事可以更新關於這個資源 - 它將被更新爲'已確認' ,所以沒有其他表單字段與觸發該動作相關聯)。Rails3 button_to正在調用POST動作,試圖調用PUT動作
這是我的看法(控制器被明確給出,因爲按鈕是屬於另一個控制器視圖):
<%= button_to "Acknowledged", :controller => 'practice_sessions', :id => @practice_session.id, :method => :put %>
在我的路線文件,資源已被宣佈爲REST資源:
resources :practice_sessions
此資源的控制器具有創建和更新操作,上面的button_to調用create操作。我希望它調用更新操作。
這都在日誌中創建行動火災前右:
Started POST "/practice_sessions?id=21&method=put" for 127.0.0.1 at 2010-11-17 08:52:46 +0000
Processing by PracticeSessionsController#create as HTML
Parameters: {"authenticity_token"=>"1EW0IlI38d0f4wST5azrCEZVZPfih7i0UvCGSF7eqbc=", "id"=>"21", "method"=>"put"}
嗨,謝謝你。我現在正在'沒有路線匹配「/ practice_sessions」'。我認爲這是因爲在這種情況下,它只是針對/ practice_sessions(正如URL http:// localhost:3000/practice_sessions?id = 26所示)而不是/ practice_sessions/26。我會繼續玩,但任何提示讚賞! – pakeha 2010-11-17 00:12:00
'rake routes'的輸出是什麼? – zetetic 2010-11-17 00:19:01
看起來如預期。下面是我想象是感興趣的行: practice_session PUT /practice_sessions/:id(.:format){:行動=> 「更新」,:控制器=> 「practice_sessions」} practice_sessions POST/practice_sessions(。 :format){:action =>「create」,:controller =>「practice_sessions」} – pakeha 2010-11-17 06:22:23