2012-01-18 24 views

Respuesta

20

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.

+0

Por supuesto! ¡Gracias! :-) – lzap

+1

Esto solo está trabajando en el desarrollo para mí, una vez que comienzo a almacenar en caché las clases ya no funciona – deb

+0

Tenemos esta configuración y también está funcionando bien en producción. –

6

En Rails3, puede establecer las configuraciones en config/application.rb

config.paths.config.routes.concat Dir[Rails.root.join("config/routes/*.rb")] 
+1

Esto funcionó mejor para mí en lugar de requerir los archivos en routes.rb – deb

+3

¿Cuál es el orden de las rutas con este enfoque? – Robin

+0

@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. –

3

rieles 3.2.11

config.paths["config/routes"].concat Dir[Rails.root.join("config/routes/*.rb")]

Cuestiones relacionadas