【问题标题】:Rails 3.2.13 recognize_path returns routing error for constraintsRails 3.2.13 识别路径返回约束的路由错误
【发布时间】:2013-04-15 17:07:10
【问题描述】:

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

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 时,这可以正常工作。但是,这不适用于识别路径方法。

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

返回一个路由错误(没有路由匹配),而在浏览器中调用时可以正常工作。

存在 :id => trump 的用户。

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

【问题讨论】:

  • UserConstraint的定义是什么?
  • UserConstraint 是一个高级约束类,如 rails routing documentation 中所述。
  • 我遇到了完全相同的问题,看到其他人的问题显然遇到了同样的问题,但他们都没有答案

标签: ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-11-24
    • 2013-07-19
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多