Wraz z rozrostem naszej aplikacji, zaczynają pojawiać się w niej przestrzenie nazw/moduły (namespaces). Dzięki takiemu podziałowi możemy zachować logikę w aplikacji dzieląc ją (przykład) np. na:

  • api
  • admin
  • dev

Wygodnie byłoby móc odwzorować taki podział także na pliku routes.rb, który niestety z czasem będzie rósł coraz bardziej. Aby temu zapobiec (i zapanować nad ew. rozrostem), warto rozdzielić plik routes.rb. Jak tego dokonać? Wystarczy utworzyć sobie katalog config/routes w nim utworzyć swoją herarchię plików (może być zagnieżdzona w subkatalogach). Następnie należy dodać poniższe linijki do pliku config/application.rb:

    # Ładuj wszystkie routy z katalogu config/routes
    Dir["#{Rails.root}/config/routes/**/*.rb"].each do |route_file|
      config.paths.config.routes << route_file
    end

Powyższy kod przeszukuje rekurencyjnie katalog z routsami i załącza te na które natrafi.