Ruby on Rails - 将URL映射到控制器,方法和参数

时间:2012-11-27 16:48:36

标签: ruby-on-rails ruby-on-rails-3 url-routing rails-console

我知道Rails应用程序中的文件routes.rb将URL映射到params散列中的控制器,方法和一组参数。 “资源”,嵌套资源和非RESTful路由有些复杂。

有没有办法在rails控制台上运行命令来映射URL并确切地找出哪个控制器,哪个方法,哪个http方法,以及给定URL中参数哈希的确切值?< / p>

然后是否可以在rails控制台上使用参数hash运行控制器方法并将控制器的输出发送到STDOUT?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:2)

试试这些

Rails.application.routes.named_routes.each{|p,s| puts p,s} 
Rails.application.routes.url_helpers.my_path_helper   # To get url for a path helper

route = Rails.application.routes
route.recognize_path "/poweruser/3"           # will give you result exactly you wanted 

答案 1 :(得分:1)

尝试运行

bundle exec rake routes

请参阅Determine if path exists as route in Rails controller

Rails.application.routes.recognize_path