我想匹配一个特定的路线,但不是该路线与任何获取查询参数。
假设我有这样的路线:
get '/home', to: 'home#home
这适用于/home
但我如何 404 /home?foo=bar
?
我想匹配一个特定的路线,但不是该路线与任何获取查询参数。
假设我有这样的路线:
get '/home', to: 'home#home
这适用于/home
但我如何 404 /home?foo=bar
?
如果?foo=bar
在您的应用程序中没有任何意义,它将完全没有效果。
参观/home?foo=bar
将结束/home
。这是一个相当约定俗成的约定。为什么需要 404?
您可以使用高级约束来执行此操作。
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