我正在使用这样的路线
match "/v1/:method" => "v1#index"
我的意图是捕获api方法的名称,然后将请求发送到控制器内的该方法。
def index
self.send params[:method], params
end
我认为这会将其他参数作为参数发送给方法,但它不起作用。所以我的问题是如何在查询字符串中传递非方法参数?
答案 0 :(得分:14)
从同事的工作中偷走了。我发现这是一个稍微强大的解决方案,因为即使路径参数发生了变化它也能正常工作:
params.except(*request.path_parameters.keys)
答案 1 :(得分:11)
答案 2 :(得分:7)
我通过这样做解决了这个问题:
params.except("method","action","controller")