我想確定我的控制器操作是否用參數調用,而不用硬編碼可以添加哪些參數。如何判斷您的控制器操作是否有參數?
所以我想區分
和 之間/my_controller
/my_controller?q=1
我知道,我可以看看params哈希表內,並檢查其是否只包含:控制器和:操作鍵。這對我來說似乎很難看,有沒有更聰明的方法來做這個檢查?
我想確定我的控制器操作是否用參數調用,而不用硬編碼可以添加哪些參數。如何判斷您的控制器操作是否有參數?
所以我想區分
和 之間/my_controller
/my_controller?q=1
我知道,我可以看看params哈希表內,並檢查其是否只包含:控制器和:操作鍵。這對我來說似乎很難看,有沒有更聰明的方法來做這個檢查?
有一個直接的解決方案:
request.env["QUERY_STRING"] # => "q=1"
或者使用Ruby 1.9.2:
request.env.QUERY_STRING # => "q=1"
對於GET請求,您可以使用request.query_parameters
方法。 POST請求也有request.request_parameters
。
結果request.query_parameters.inspect
是:
我也喜歡這個解決方案,只是找到了它的用處。 – spike
回答? – apneadiving
是的,這個工程。謝謝 – spike