我知道Rails应用程序中的文件routes.rb将URL映射到params散列中的控制器,方法和一组参数。 “资源”,嵌套资源和非RESTful路由有些复杂。
有没有办法在rails控制台上运行命令来映射URL并确切地找出哪个控制器,哪个方法,哪个http方法,以及给定URL中参数哈希的确切值?< / p>
然后是否可以在rails控制台上使用参数hash运行控制器方法并将控制器的输出发送到STDOUT?如果是这样,怎么样?
答案 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