当前位置:  开发笔记 > 前端 > 正文

如何在浏览器中查看Rails引擎的Rails /路线

如何解决《如何在浏览器中查看Rails引擎的Rails/路线》经验,为你挑选了1个好方法。

我有一个安装在dummy/config/routes.rb使用中的Rails引擎

mount Handicap::Engine => "/handicap"

在引擎中,我有许多控制器,当我在虚拟目录中启动Rails服务器时,这些路由处于活动状态,例如/ handicap / tees / index响应。但是,当我转到/rails/routes它时仅显示:

handicap_path       /handicap   Handicap::Engine
rails_routes_path   GET /rails/routes(.:format) sextant/routes#index
sextant_engine_path     /sextant    Sextant::Engine

我可以使用列出它们rake routes,但是我的正常工作流程是在浏览器中列出它们。如何在浏览器中列出引擎路线?



1> siegy22..:

如果只想以开发模式在浏览器中显示路线,则可以调用以下Rails页面:

http:// localhost:3000 / rails / info / routes(从Rails 4开始可用)

如果您要从Rails 3升级,则可以从宝石中移除六分仪的宝石,因为这已成为Rails核心的一部分。


如果要向用户显示生产中的路线,则可以按以下方式实现它:(在bin/rake routes(在此处实现),您可以从代码中调用相同的东西:)

尝试1:

控制器代码:

# app/controllers/example_controller.rb

routes = Rails.application.routes.routes
@inspector = ActionDispatch::Routing::RoutesInspector.new(routes)

查看代码:

# app/views/example/show.html.erb

# Yeah! There's also a HTML Table Formatter already to print routes in html
inspector.format(ActionDispatch::Routing::HtmlTableFormatter.new(self))
尝试2:

在助手中执行此操作:

# app/helpers/route_printing_helper.rb

module RoutePrintingHelper
  def print_routes(view)
    routes = Rails.application.routes.routes
    inspector = ActionDispatch::Routing::RoutesInspector.new(routes)
    inspector.format(ActionDispatch::Routing::HtmlTableFormatter.new(view))
  end
end

然后调用它:

# app/views/example/show.html.erb
print_routes(self)
尝试3:

这是这样做的“最便宜”的方式:

# app/controllers/example_controller.rb

@routes_output = `#{Rails.root}/bin/rake routes`

您的看法:

# app/views/example/show.html.erb

<%= @routes_output %>

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有