来自GET / POST的Rails参数

时间:2010-10-26 12:10:20

标签: ruby-on-rails ruby

我对Rails相当新,我正在写一个登录表单。我已经使用form_tag将用户的提交传递给帐户控制器。现在,我不希望用户能够通过GET请求输入他们的登录详细信息,那么如何检查某个参数是GET还是POST参数?

提前致谢

3 个答案:

答案 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_parametersGET的{​​{1}} request_parametersPOST的{​​{1}}别名:{/ 1}} p>

http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-GET