我对Rails相当新,我正在写一个登录表单。我已经使用form_tag将用户的提交传递给帐户控制器。现在,我不希望用户能够通过GET请求输入他们的登录详细信息,那么如何检查某个参数是GET还是POST参数?
提前致谢
答案 0 :(得分:18)
在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
答案 1 :(得分:2)
如果你需要知道HTTP动词,你可以直接要求:
request.request_method
答案 2 :(得分:0)
您当然可以POST到包含查询参数的网址,因此所选答案可能不是您要查找的内容。尝试检查请求数组中是否存在参数:
if request.GET.include? "param_name"
# do something
end
request.POST
还有query_parameters
个GET
的{{1}} request_parameters
和POST
的{{1}}别名:{/ 1}} p>
http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-GET