3

我的路线中有两条路径,相同的路径指向不同的控制器和动作

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

当我在浏览器中调用网址时,这很好用。但是,这不适用于识别路径方法。

Rails.application.routes.recognize_path("/trump", {:method => :get}) 

返回一个路由错误(没有路由匹配),而在浏览器中调用时工作,因为它被适当地路由。

存在 :id => trump 的用户。

我如何获得recognize_path 方法来返回路径详细信息?

4

1 回答 1

5

显然,这是 Rails 中的一个错误,请参阅:

https://github.com/rails/rails/issues/8679

于 2013-04-22T17:44:31.830 回答