这基本上是{3}}的rails 3版本。如果没有自己解析它,我如何从URL字符串中获取组件(控制器,操作,参数)?
方法ActionController::Routing::Routes#recognize_path
已经this question,我无法以相同的方式获得被替换的方法:
1.9.3p125 :019 > ActionDispatch::Routing::RouteSet.recognize_path('/accounts/new', {:method => :get})
NoMethodError: undefined method `recognize_path' for ActionDispatch::Routing::RouteSet:Class
这是有道理的,因为它不是静态方法。看源头也没有启发我。任何指针都会受到欢迎。
编辑:
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]
Rails 3.2.3
答案 0 :(得分:7)
这对我有用(Ruby 1.9.2,Rails 3.1.0):
Rails.application.routes.recognize_path('/accounts/new', {:method => :get})