ruby-on-rails - Rails 3.2.13 recognize_path 返回约束的路由错误

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

我的路由中有两条路径,同一条路径指向不同的 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 中的一个错误,请参阅:

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

关于ruby-on-rails - Rails 3.2.13 recognize_path 返回约束的路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020843/

相关文章:

ruby-on-rails - rails : how to use fontawesome icon

ruby-on-rails - 使用 Devise 的可确认模块进行测试 (RSpec)

ruby - 异或两个对象

ruby - 无效的八进制数字错误

ruby - Ramaze Session 中的复杂或深层对象存储坏了?

ruby-on-rails-3 - 向自定义验证器添加错误消息

ruby-on-rails - 我如何断言 Rails 集成测试中没有路由匹配?

ruby-on-rails - Resque error-参数数量错误(0 为 1)

ruby-on-rails - 字符串中的两个变量

ruby-on-rails - 诺科切替换