Rails 3: 我想列出在我的 Rails 应用程序中定义的所有路径

如果可能的话,我想在 Rails3应用程序中列出所有已定义的辅助路径函数(它们是从路由创建的)。

谢谢,

150418 次浏览
rake routes

或者

bundle exec rake routes

更新

我后来发现,有一个正式的方式看到所有的路线,通过去 http://localhost:3000/rails/info/routes。官方文件: https://guides.rubyonrails.org/routing.html#listing-existing-routes


虽然可能有点晚了,但我喜欢显示所有路线的错误页面。我通常尝试直接从浏览器访问 /routes(或一些虚假的)路径。Rails 服务器会自动为我提供一个路由错误页面,以及定义的所有路由和路径。这很有帮助:)

那就去 http://localhost:3000/routesenter image description here

在 Rails 5 API 应用程序上尝试 http://0.0.0.0:3000/routes(例如: 仅面向 JSON)将会(从 Rails beta 3开始)返回

{"status":404,"error":"Not Found","exception":"#>
<ActionController::RoutingError:...

但是,http://0.0.0.0:3000/rails/info/routes将呈现一个带路由的漂亮、简单的 HTML 页面。

rails routes | grep <specific resource name>

显示资源特定的路由,如果它是一个相当长的路由列表。

还有一个办法

Rails.application.routes.routes

Http://hackingoff.com/blog/generate-rails-sitemap-from-routes/

CLI

更新版本6

对于 列出所有现有路线,您需要运行以下命令:

bundle exec rails routes

包 exec

在 bundle 的上下文中执行命令

铁路路线

列出你定义的所有路线

例子

如果你的 资源路线是这样声明的:

resource :credential, only: [:new, :create, :destroy]

然后它有助于 烟斗的输出,这样您就可以 Grep为您的特定资源。

例如: bundle exec rails routes grep example