Rails routing ; namespace

namespace

コントローラの数が増えてきて、下のように

コントローラをディレクトリ分類したくなったときに使う。

controller/admin/task_controller.rb
controller/user/task_controller.rb
...
Sampleapp::Application.routes.draw do
  namespace :admin do
    resources :task
  end 

  namespace :user do
    resources :task
  end
end
$ rake routes
          Prefix Verb   URI Pattern                    Controller#Action
admin_task_index GET    /admin/task(.:format)          admin/task#index
                 POST   /admin/task(.:format)          admin/task#create
  new_admin_task GET    /admin/task/new(.:format)      admin/task#new
 edit_admin_task GET    /admin/task/:id/edit(.:format) admin/task#edit
      admin_task GET    /admin/task/:id(.:format)      admin/task#show
                 PATCH  /admin/task/:id(.:format)      admin/task#update
                 PUT    /admin/task/:id(.:format)      admin/task#update
                 DELETE /admin/task/:id(.:format)      admin/task#destroy
 user_task_index GET    /user/task(.:format)           user/task#index
                 POST   /user/task(.:format)           user/task#create
   new_user_task GET    /user/task/new(.:format)       user/task#new
  edit_user_task GET    /user/task/:id/edit(.:format)  user/task#edit
       user_task GET    /user/task/:id(.:format)       user/task#show
                 PATCH  /user/task/:id(.:format)       user/task#update
                 PUT    /user/task/:id(.:format)       user/task#update
                 DELETE /user/task/:id(.:format)       user/task#destroy