1

我想匹配一个特定的路线,但不是该路线与任何获取查询参数。

假设我有这样的路线:

get '/home', to: 'home#home

这适用于/home但我如何 404 /home?foo=bar

4

2 回答 2

1

如果?foo=bar在您的应用程序中没有任何意义,它将完全没有效果。

参观/home?foo=bar将结束/home。这是一个相当约定俗成的约定。为什么需要 404?

于 2013-04-26T02:10:04.073 回答
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
于 2013-04-26T02:35:56.793 回答