¿Es posible dividir el archivo Rails 3.X routes.rb?Cómo dividir routes.rb en archivos más pequeños
Tenemos tantos recursos que es difícil encontrarlos. Me gustaría dividir al menos las rutas de APP y REST API.
Gracias!
¿Es posible dividir el archivo Rails 3.X routes.rb?Cómo dividir routes.rb en archivos más pequeños
Tenemos tantos recursos que es difícil encontrarlos. Me gustaría dividir al menos las rutas de APP y REST API.
Gracias!
Usted puede hacer eso:
routes.rb
require 'application_routes'
require 'rest_api_routes'
lib/application_routes.rb
YourApplication::Application.routes.draw do
# Application related routes
end
lib/rest_api_routes.rb
YourApplication::Application.routes.draw do
# REST API related routes
end
UPD ATE: (Este método ya ha sido retirado de Rieles) borde
rieles acaba de recibir una gran adición, varios archivos de ruta:
# config/routes.rb
draw :admin
# config/routes/admin.rb
namespace :admin do
resources :posts
end
Esto será muy útil para romper los archivos de rutas complejas en grandes aplicaciones.
En Rails3, puede establecer las configuraciones en config/application.rb
config.paths.config.routes.concat Dir[Rails.root.join("config/routes/*.rb")]
Esto funcionó mejor para mí en lugar de requerir los archivos en routes.rb – deb
¿Cuál es el orden de las rutas con este enfoque? – Robin
@Robin Experimenté en nuestra aplicación en mi máquina de desarrollo OS X. Puse los números delante del nombre del archivo y las rutas en "1_routes.rb" antes de "2_routes.rb", pero después cuando cambié "1" a "3". Pero [parece] (http://stackoverflow.com/questions/7389733/sort-order-in-rubys-dir-entries-method) el orden de 'Dir.entries' no está garantizado, por lo que probablemente necesite' Dir [...] .sort' para confiar en esto. –
rieles 3.2.11
config.paths["config/routes"].concat Dir[Rails.root.join("config/routes/*.rb")]
Por supuesto! ¡Gracias! :-) – lzap
Esto solo está trabajando en el desarrollo para mí, una vez que comienzo a almacenar en caché las clases ya no funciona – deb
Tenemos esta configuración y también está funcionando bien en producción. –