Возможно ли разбить Rails 3.X routes.rb файл?Как разбить route.rb на более мелкие файлы
У нас так много ресурсов, что их сложно найти. Я хотел бы разделить, по крайней мере, маршруты APP и REST API.
Спасибо!
Возможно ли разбить Rails 3.X routes.rb файл?Как разбить route.rb на более мелкие файлы
У нас так много ресурсов, что их сложно найти. Я хотел бы разделить, по крайней мере, маршруты APP и REST API.
Спасибо!
Вы можете сделать это:
routes.rb
require 'application_routes'
require 'rest_api_routes'
Библиотека/application_routes.rb
YourApplication::Application.routes.draw do
# Application related routes
end
Библиотека/rest_api_routes.rb
YourApplication::Application.routes.draw do
# REST API related routes
end
UPD ATE: (Этот метод был удален из списка Rails)
Рельсы край только что получил большое дополнение, несколько файлов маршрутов:
# config/routes.rb
draw :admin
# config/routes/admin.rb
namespace :admin do
resources :posts
end
Это пригодиться для разрушения сложных файлов маршрутов в больших приложениях.
В Rails3, вы можете установить конфиги в конфигурации/application.rb
config.paths.config.routes.concat Dir[Rails.root.join("config/routes/*.rb")]
это работало лучше для меня, а не для файлов в маршрутах. Rb – deb
Каков порядок маршрутов с таким подходом? – Robin
@Robin Я экспериментировал в нашем приложении на своей операционной системе OS X. Я помещал числа перед именем файла, а маршруты в «1_routes.rb» приходили до «2_routes.rb», но после того, как я изменил «1» на «3». Но [кажется] (http://stackoverflow.com/questions/7389733/sort-order-in-rubys-dir-entries-method) порядок 'Dir.entries' не гарантируется, поэтому вам, вероятно, понадобится' Dir [...] .sort' полагаться на это. –
Rails 3.2.11
config.paths["config/routes"].concat Dir[Rails.root.join("config/routes/*.rb")]
Конечно! Спасибо! :-) – lzap
Это работает только в разработке для меня, как только я начинаю кэшировать классы, которые он больше не работает – deb
У нас есть эта настройка и хорошо работает и в производстве. –