2012年3月15日木曜日

RESTfulのカスタマイズ

やりたいこと
  • コントローラーの下にサブフォルダを作りたい。
  • コントローラーの下にサブフォルダを作るけどURLには認識させない。
/admin/teachers、/admin/students
というフォルダ構造にしたい。
URLは/admin/teachers、/admin/students
namespace 'admin' do
  resources :teachers
end
/admin/teachers(.:format) {:action=>"index", :controller=>"admin/teachers"}
namespace 'admin' do
  resources :students
end

/admin/students(.:format) {:action=>"index", :controller=>"admin/students"}
/admin/teachers、/admin/students
というフォルダ構造にしたい。
URLは/teachers、/students
scope :module => 'admin' do
   resources :teachers
end
/teachers(.:format) {action=>"index", :controller=>"admin/teachers"}
scope :module=>'admin' do
  resources :students
end

/students(.:format){action=>"index",:controller=>"admin/students"}

こんな感じになります。
/admin/teacher/:id/exams
/admin/student/:id/exams

みたいなことになった時に、URLはともかくとして
exams_controllerを置く場所には悩む。二つ作ることになるだろうし。
そんな時は、moduleを作ってフォルダをわけたらいいのかなと。

0 件のコメント: