如何在 Rails 4 中创建多个路由文件?

Ale*_*zzi 2 routes ruby-on-rails ruby-on-rails-4

Rails 4 中定义来自多个文件的路由的最佳方法是什么?我应该创建它们并使用来自 的某种包含机制routes.rb,还是我应该做其他事情?

我知道 Rails 4 中有一个名为 的新功能concerns,尽管它们似乎与我想要做的事情无关。我不想修改现有的路由,我只想将我的定义分成多个文件以防止routes.rb变得太大。

dmc*_*lly 5

在您的 application.rb 文件中:

routes = Dir[Rails.root.join("config/routes/*.rb")] + config.paths['config/routes.rb']
config.paths['config/routes.rb'] = routes
Run Code Online (Sandbox Code Playgroud)

您可以在“config/routes”下的任何文件中定义路由,如下所示:

# config/routes/api_routes.rb
Rails.application.routes.draw do
  namespace :api do 
    resources :posts
  end
end
Run Code Online (Sandbox Code Playgroud)

在 Rails 4 中,config.paths 上的键似乎从“config/routes”更改为“config/routes.rb”