O Rails permite que você particione diferentes áreas do sistema, agrupando os controllers em subdiretórios.

por exemplo: /admin ou /admin/articles etc

O Ruby on Rails utiliza o seguinte mapeamento entre URLs e os controllers:

http://www.url.com/application/mycontroller/myaction/id

Isso mapeia um controller (uma classe) chamada “mycontroller” que contém um método chamado “myaction”.

Para ter subdiretórios como

http://www.url.com/application/mycontroller/mysubcontroller/myaction/id

Você pode criar um subdiretório no diretório controller (neste caso, chamado “mycontroller”) e criar uma arquivo chamado “mysubcontroller_controller.rb”. A declaração da classe deve conter Mycontroller::MysubcontrollerController < ApplicationController.

Se você quiser criar um controlador chamado “articles” no subdiretório “admin”, você deve fazer:

  1. Criar o subdiretório “admin” no diretório “controller”
  2. Criar o arquivo “articles_controller.rb” no diretório “controllers/admin”
  3. Declarar a classe da seguinte maneira: Admin::ArticlesController < ApplicationController

Será necessário também criar os arquivos .rhtml nos subdiretórios correspondentes no diretório de view.