(Я обновил этот ответ, чтобы воспользоваться в RouteReloader для работы в области развития)
Вы можете легко сделать это (даже в Rails 4!).
конфигурации/routes.rb:
Rails.application.routes.draw do
resources :foo
end
конфиг/маршруты/included.rb:
Rails.application.routes.draw do
resources :bar
end
конфигурации/Инициализаторы/routes.rb
Rails.application.routes_reloader.paths.unshift *Dir[File.expand_path("../../routes/**/*.rb", __FILE__)]
Это добавит все файлы в config/routes к маршрутам приложения, и это, вероятно, добавит их в обратном лексическом порядке по имени файла. Если вы хотите загрузить маршруты в другом порядке, а не в glob, вы можете просто нажать или переместить маршруты на route_reloader.paths в желаемом порядке.
реки маршруты:
Prefix Verb URI Pattern Controller#Action
foo_index GET /foo(.:format) foo#index
POST /foo(.:format) foo#create
new_foo GET /foo/new(.:format) foo#new
edit_foo GET /foo/:id/edit(.:format) foo#edit
foo GET /foo/:id(.:format) foo#show
PATCH /foo/:id(.:format) foo#update
PUT /foo/:id(.:format) foo#update
DELETE /foo/:id(.:format) foo#destroy
bar_index GET /bar(.:format) bar#index
POST /bar(.:format) bar#create
new_bar GET /bar/new(.:format) bar#new
edit_bar GET /bar/:id/edit(.:format) bar#edit
bar GET /bar/:id(.:format) bar#show
PATCH /bar/:id(.:format) bar#update
PUT /bar/:id(.:format) bar#update
DELETE /bar/:id(.:format) bar#destroy
Это выглядит великолепно. Спасибо, Крис. Внешние маршруты работают так, как ожидалось. Одна из проблем, с которыми я столкнулась, заключается в том, что если я каким-либо образом модифицирую основной файл route.rb (например, добавляя комментарий или даже пробел), маршруты во внешнем файле перестают работать, что заставляет меня перезапустить приложение. Вы знаете, что вызывает эту проблему? – sjsc
Я бы с подозрением относился к механизму перезагрузки маршрутов в Rails 4. Я не сталкивался с этим, так как мои маршруты были в основном статичными с работы с Rails 4. Дайте мне немного, чтобы посмотреть, могу ли я понять, что он делает. –
@ sjsc См. Мое редактирование; который исправляет дополнительные файлы маршрута в перегружателе маршрутов, что заставляет все работать должным образом в разработке. Это тот же механизм, что и двигатели для добавления своих маршрутов в приложение. –