我對Rails相當陌生,正在寫登錄表單。我已經使用form_tag將用戶的提交傳遞給帳戶控制器。現在,我不希望用戶能夠通過GET請求輸入其登錄詳細信息,那麼如何檢查某個參數是GET還是POST參數?來自GET/POST的Rails參數
在此先感謝
我對Rails相當陌生,正在寫登錄表單。我已經使用form_tag將用戶的提交傳遞給帳戶控制器。現在,我不希望用戶能夠通過GET請求輸入其登錄詳細信息,那麼如何檢查某個參數是GET還是POST參數?來自GET/POST的Rails參數
在此先感謝
在Rails中,您沒有特定的POST或GET參數。你有一個POST或GET請求。你可以在你的控制器檢查它是這樣的:
request.post?
,或者你可以檢查其他HTTP動詞:GET,PUT和DELETE:
request.get?
request.put?
request.delete?
欲瞭解更多信息,請檢查這一塊的文件: http://railsapi.com/doc/rails-v2.3.8/classes/ActionController/Request.html
你當然可以發佈到包含查詢參數的url,所以選擇的答案可能不是你要找的。嘗試檢查,如果該參數存在於請求數組:
if request.GET.include? "param_name"
# do something
end
還有request.POST
並有別名(query_parameters
爲GET
和request_parameters
爲POST
)兩個在ActionDispatch::Request
:
http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-GET
如果什麼你需要知道你可以直接詢問的HTTP動詞請求:
request.request_method
也看到這個問題的答案:[http://stackoverflow.com/questions/152585/identify-get-and-post-parameters-in-ruby-on-rails][1] [ 1]:http://stackoverflow.com/questions/152585/identify-get-and-post-parameters-in-ruby-on-rails – 2012-03-09 22:46:02