我的路由中有两条路径,同一条路径指向不同的 Controller 和 Action
match '/:id' => 'users#show', :as => 'user', :constraints => UserConstraint
match '/:id' => 'customers#show', :as => 'customer'
我的约束类有以下匹配项吗?方法
def self.matches?(request)
return User.exists?(request.path_parameters[:id])
end
当我在我的浏览器中调用 url 时,这工作正常。但是,这不适用于 recognize_path 方法。
Rails.application.routes.recognize_path("/trump", {:method => :get})
返回路由错误(没有路由匹配),而在浏览器中调用时可以正常工作,因为它已正确路由。
存在 :id => trump 的用户。
如何使用 recognize_path 方法返回路径详细信息?
最佳答案
显然,这是 Rails 中的一个错误,请参阅:
关于ruby-on-rails - Rails 3.2.13 recognize_path 返回约束的路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020843/