2011-12-20 141 views
0

如何在使用'form_tag'表單時爲POST/PUT/GET方法定義路由?我應該在模型中定義POST還是PUT?或者如果我有例如瀏覽的方法,然後我應該使用類似這樣的路由:(警告!下面的僞代碼)沒有路由匹配POST/GET

match 'browsing/mymethod' => 'browsing#post' 

請幫忙! :(

+1

PLE這個問題重述了這個問題,你不清楚你在問什麼。請發佈導致此問題的代碼以及迄今已嘗試的代碼。 – Gazler 2011-12-20 20:58:08

回答

1
  1. 如果你的表格不會改變數據庫狀態(不創建,更新或刪除記錄),也不包含敏感數據(如登錄憑據),例如,如果它是一個搜索表單和使用它來過濾結果,請使用GET HTTP動詞:

    get 'browsing/mymethod' => 'browsing#filter'

  2. 如果它是在數據庫中創建數據的形式,或者它會創建某些資源(啓動例如認證會話),使用POST HTTP動詞:

    post 'browsing/mymethod' => 'browsing#create'

    注意:我們正在談論的訴訟,但該表單提交,不顯示的形式可能的輔助作用!

  3. 如果它是一個形式,在數據庫中更新數據或更改某些資源,使用PUT HTTP動詞:

    put 'browsing/mymethod' => 'browsing#update'

  4. 最後,如果它是在提交一個表單,刪除數據, (通常只是一個按鈕,在形式沒有其他字段)中,使用HTTP DELETE動詞:

    delete 'browsing/mymethod' => 'browsing#destroy'

+0

但如何綁定與表單操作提交按鈕? – mrmnmly 2011-12-24 12:27:55

+1

'後 '瀏覽/的MyMethod'=> '瀏覽#創建':爲=>「create_stuff'',並考慮:'的form_for create_stuff_path做...'。請閱讀導軌指南http://guides.rubyonrails.org – clyfe 2011-12-24 21:00:19