Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何从rails 3路由中找到控制器和操作_Ruby On Rails 3_Routing - Fatal编程技术网

Ruby on rails 3 如何从rails 3路由中找到控制器和操作

Ruby on rails 3 如何从rails 3路由中找到控制器和操作,ruby-on-rails-3,routing,Ruby On Rails 3,Routing,这基本上是rails 3版本的。除了自己解析之外,我如何从URL字符串中获取组件(控制器、操作、参数) 方法ActionController::Routing::Routes#recognize_path已经被替换,我无法让它被替换的方法以同样的方式工作: 1.9.3p125 :019 > ActionDispatch::Routing::RouteSet.recognize_path('/accounts/new', {:method => :get}) NoMethodError

这基本上是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
这是有道理的,因为它不是静态方法。看资料也没能启发我。欢迎任何指点

编辑:

ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]
Rails 3.2.3
这对我很有用(Ruby 1.9.2,Rails 3.1.0):

Rails.application.routes.recognize_path('/accounts/new', {:method => :get})