在Rails中,如何查看Rails路由添加的所有“path”和“url”方法? (更新:使用Rails控制台)

[更新:不使用rake routes ,只是为了更多地了解Rails控制台]

看起来像Rails 3的“rails console”里面,我们可以使用controller ,但是在Rails 2.2或2.3中,我们需要使用@controller

而在Rails 3中,我们可以打印出所有通过Rails路由添加到脚手架foo路由:

 ruby-1.9.2-p0 > puts controller.public_methods.grep(/path|url/).grep(/foo/).sort.join("\n") edit_foo_path edit_foo_url foo_path foo_url foos_path foos_url new_foo_path new_foo_url 

但在Rails 2.3.8上,它提供了一堆formatted_foos_path等,并没有给Rails 2.2.2。 如何使它打印出Rails 2.3.8和2.2.2?


Rails 2.3.8的详细信息:

 ruby-1.8.7-p302 > puts @controller.public_methods.grep(/path|url/).grep(/foo/).sort.join("\n") formatted_edit_foo_path formatted_edit_foo_url formatted_foo_path formatted_foo_url formatted_foos_path formatted_foos_url formatted_new_foo_path formatted_new_foo_url 

 helpers = Rails.application.routes.named_routes.helpers 

这将获得所有已创build的命名路由方法。 然后,你可以做helpers.map(&:to_s) ,以及任何你想得到你的foo版本的正则expression式

那么在Rails 4中,我使用了rake routes 。 你需要吗?

或者在浏览器中加载localhost_path/rails/info/routes