我希望匹配特定路线,但不匹配任何获取查询参数的路线。
假设我有这样的路线:
get '/home', to: 'home#home
这适用于/home
,但我如何404 /home?foo=bar
?
答案 0 :(得分:1)
如果?foo=bar
在您的应用中没有任何意义,则根本不起作用。
访问/home?foo=bar
将结束/home
。这是一个非常惯例。你为什么需要404?
答案 1 :(得分:0)
您可以使用高级约束来执行此操作 http://guides.rubyonrails.org/routing.html#advanced-constraints
class NoQueryParamsConstraint
def matches?(request)
request.query_parameters.blank?
end
end
get "/home", to: 'home#home', constraints: NoQueryParamsConstraint.new