Rails6.1 で config/routes.rb を分割する

Rails 6.1 で config/routes.rb を簡単に分割する機能ができたので便利。

# config/routes.rb
Rails.application.routes.draw do
  root to: 'home#index'
  resources :users

  draw(:admin)
  draw(:api)
end
# config/routes/admin.rb
namespace 'admin' do
  root to: "home#index"
end
# config/routes/api.rb
namespace 'api' do
  resources :users
end

分割手順

  • ベースとなるルーティングファイル(config/routes.rb)にて draw(:another) を記述
  • config/routes/ 配下に another.rb を配置
  • another.rb ファイル内に分割したい単位のルーティングを記述