如何从rails 3路径中找到控制器和操作

Thi*_*ilo 0 routing ruby-on-rails-3

这基本上是这个问题的rails 3版本.如果没有自己解析它,我如何从URL字符串中获取组件(控制器,操作,参数)?

该方法ActionController::Routing::Routes#recognize_path已被弃用,我不能得到它被替换的方法以相同的方式工作:

1.9.3p125 :019 > ActionDispatch::Routing::RouteSet.recognize_path('/accounts/new', {:method => :get})
NoMethodError: undefined method `recognize_path' for ActionDispatch::Routing::RouteSet:Class
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为它不是一个静态的方法.看源头也没有启发我.任何指针都会受到欢迎.

编辑:

ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]
Rails 3.2.3
Run Code Online (Sandbox Code Playgroud)

dse*_*ton 7

这对我有用(Ruby 1.9.2,Rails 3.1.0):

Rails.application.routes.recognize_path('/accounts/new', {:method => :get})
Run Code Online (Sandbox Code Playgroud)