什么是将routes.rb文件分成多个文件以便更好地管理的好方法?

Rya*_*ery 3 ruby partitioning routes ruby-on-rails

我正在使用相当大的路径文件的rails 3项目.它利用了一些嵌套,我遇到了一个问题,主要是因为路由文件很难管理.

有没有办法将其分解为多个文件?

就像是:

My::Application.routes.draw do
  constraints(:subdomain => 'admin') do
    include My::Application::Routes::AdminRoutes
  end

  include My::Application::Routes::MainRoutes
end
Run Code Online (Sandbox Code Playgroud)

要么...

My::Application.routes.draw do
  constraints(:subdomain => 'admin') do
    require 'routes/admin_routes.rb'
  end

  require 'routes/main_routes.rb'
end
Run Code Online (Sandbox Code Playgroud)

或类似的规定.

谢谢!

edg*_*ner 6

include将包含的模块的方法插入到命名空间中,然后require将文件加载到顶级命名空间中.这些都不适合你.

只是load单独的文件

My::Application.routes.draw do
  constraints(:subdomain => 'admin') do
    load 'routes/admin_routes.rb'
  end

  load 'routes/main_routes.rb'
end
Run Code Online (Sandbox Code Playgroud)