Railsアプリケーションのルーティングは、config/routes.rb
1ファイルで最初は開発を始めると思います。
ただ、サービスを運用していくとルーティングは膨らみ、メンテナンスコストも馬鹿になりません。
そのため、ルーティングの設定をできるだけメンテナンスしやすく作っておくことでそのコストを下げようという試みです。
Railsのルーティングは、config/routes.rb
がルーティングの設定ファイルにデフォルトで指定されています。
ただ、これは変更可能ですし、複数のファイルに分割もできます。
昨今のアプリケーションの用途は、Web、native(iOS、Android)、APIサーバ、と多岐にわたるので、
config/routes.rb
config/routes/api/v1.rb
config/routes/api/v2.rb
config/routes/web.rb
config/routes/admin.rb
...
のように用途や機能に応じてファイルを分割しておくことで、あとから運用していく人がわかりやすくなり、メンテナンスコストを軽減できます。
Rails3の場合は、config/application.rb
で
module TheApplication
class Application < Rails::Application
...
config.paths["config/routes"] += Dir[Rails.root.join("config/routes/**/*.rb")]
...
end
end
Rails4の場合は、
module TheApplication
class Application < Rails::Application
...
config.paths["config/routes.rb"] += Dir[Rails.root.join("config/routes/**/*.rb")]
...
end
end
と設定します。