将大的routes.rb划分为Rails 5中的多个文件

问题描述 投票:2回答:2

我想将我的rails 4 app升级到5.0.0.beta2。目前我通过设置routes.rbconfig.paths["config/routes.rb"]文件分成多个文件,例如,

module MyApp
  class Application < Rails::Application
    config.paths["config/routes.rb"]
      .concat(Dir[Rails.root.join("config/routes/*.rb")])
  end
end

似乎rails 5.0.0.beta2也暴露了config.paths["config/routes.rb"],但上面的代码不起作用。如何在rails 5中划分routes.rb文件?

ruby-on-rails-5
2个回答
6
投票

你可以在config / application.rb中编写一些代码

config.paths ['config / routes.rb']。concat Dir [Rails.root.join(“config / routes / * .rb”)]


6
投票

Here's a nice article, simple, concise, straight to the point - 不是我的。

配置/ application.rb中

module YourProject
  class Application < Rails::Application
    config.autoload_paths += %W(#{config.root}/config/routes)
  end
end

配置/路由/ admin_routes.rb

module AdminRoutes
  def self.extended(router)
    router.instance_exec do
      namespace :admin do
        resources :articles
        root to: "dashboard#index"
      end
    end
  end
end

配置/ routes.rb中

  Rails.application.routes.draw do
    extend AdminRoutes

    # A lot of routes
  end
© www.soinside.com 2019 - 2024. All rights reserved.