我正在尝试确定是否使用参数调用了控制器操作,而没有硬编码可以添加哪些参数。
所以我想区分
/my_controller
和
/my_controller?q=1
我知道我可以查看params哈希值,并检查它是否仅包含:controller和:action键。这对我来说似乎很难看,有没有更聪明的方法来做这个检查?
答案 0 :(得分:3)
有一个直接的解决方案:
request.env["QUERY_STRING"] # => "q=1"
或者使用Ruby 1.9.2:
request.env.QUERY_STRING # => "q=1"
答案 1 :(得分:1)
对于GET请求,您可以使用request.query_parameters
方法。 POST请求也有request.request_parameters
。
request.query_parameters.inspect
的结果是: