resourceすごすぎる
map.resources( :users, :has_many => :friends, :member=>[:contact] ) do |users| users.resources :todos end
が、rake routesで↓となる。誰か使いこなせるんでしょうか。。まぁもちろん馬鹿正直に全部に対応する必要はないんですが。それにしてもねぇ。
(in /Users/moro/dev.build/todo_2_0) users GET /users {:action=>"index", :controller=>"users"} formatted_users GET /users.:format {:action=>"index", :controller=>"users"} POST /users {:action=>"create", :controller=>"users"} POST /users.:format {:action=>"create", :controller=>"users"} new_user GET /users/new {:action=>"new", :controller=>"users"} formatted_new_user GET /users/new.:format {:action=>"new", :controller=>"users"} contact_user /users/:id/contact {:action=>"contact", :controller=>"users"} formatted_contact_user /users/:id/contact.:format {:action=>"contact", :controller=>"users"} edit_user GET /users/:id/edit {:action=>"edit", :controller=>"users"} formatted_edit_user GET /users/:id/edit.:format {:action=>"edit", :controller=>"users"} user GET /users/:id {:action=>"show", :controller=>"users"} formatted_user GET /users/:id.:format {:action=>"show", :controller=>"users"} PUT /users/:id {:action=>"update", :controller=>"users"} PUT /users/:id.:format {:action=>"update", :controller=>"users"} DELETE /users/:id {:action=>"destroy", :controller=>"users"} DELETE /users/:id.:format {:action=>"destroy", :controller=>"users"} user_friends GET /users/:user_id/friends {:action=>"index", :controller=>"friends"} formatted_user_friends GET /users/:user_id/friends.:format {:action=>"index", :controller=>"friends"} POST /users/:user_id/friends {:action=>"create", :controller=>"friends"} POST /users/:user_id/friends.:format {:action=>"create", :controller=>"friends"} new_user_friend GET /users/:user_id/friends/new {:action=>"new", :controller=>"friends"} formatted_new_user_friend GET /users/:user_id/friends/new.:format {:action=>"new", :controller=>"friends"} edit_user_friend GET /users/:user_id/friends/:id/edit {:action=>"edit", :controller=>"friends"} formatted_edit_user_friend GET /users/:user_id/friends/:id/edit.:format {:action=>"edit", :controller=>"friends"} user_friend GET /users/:user_id/friends/:id {:action=>"show", :controller=>"friends"} formatted_user_friend GET /users/:user_id/friends/:id.:format {:action=>"show", :controller=>"friends"} PUT /users/:user_id/friends/:id {:action=>"update", :controller=>"friends"} PUT /users/:user_id/friends/:id.:format {:action=>"update", :controller=>"friends"} DELETE /users/:user_id/friends/:id {:action=>"destroy", :controller=>"friends"} DELETE /users/:user_id/friends/:id.:format {:action=>"destroy", :controller=>"friends"} user_todos GET /users/:user_id/todos {:action=>"index", :controller=>"todos"} formatted_user_todos GET /users/:user_id/todos.:format {:action=>"index", :controller=>"todos"} POST /users/:user_id/todos {:action=>"create", :controller=>"todos"} POST /users/:user_id/todos.:format {:action=>"create", :controller=>"todos"} new_user_todo GET /users/:user_id/todos/new {:action=>"new", :controller=>"todos"} formatted_new_user_todo GET /users/:user_id/todos/new.:format {:action=>"new", :controller=>"todos"} edit_user_todo GET /users/:user_id/todos/:id/edit {:action=>"edit", :controller=>"todos"} formatted_edit_user_todo GET /users/:user_id/todos/:id/edit.:format {:action=>"edit", :controller=>"todos"} user_todo GET /users/:user_id/todos/:id {:action=>"show", :controller=>"todos"} formatted_user_todo GET /users/:user_id/todos/:id.:format {:action=>"show", :controller=>"todos"} PUT /users/:user_id/todos/:id {:action=>"update", :controller=>"todos"} PUT /users/:user_id/todos/:id.:format {:action=>"update", :controller=>"todos"} DELETE /users/:user_id/todos/:id {:action=>"destroy", :controller=>"todos"} DELETE /users/:user_id/todos/:id.:format {:action=>"destroy", :controller=>"todos"} /:controller/:action/:id /:controller/:action/:id.:format
続き。formatを抜いてみればまぁけっこうありかも。ほとんどのアクションはhtmlしか返さないことを考えるとあんまり悪くない?
(in /Users/moro/dev.build/todo_2_0) users GET /users {:action=>"index", :controller=>"users"} POST /users {:action=>"create", :controller=>"users"} new_user GET /users/new {:action=>"new", :controller=>"users"} contact_user /users/:id/contact {:action=>"contact", :controller=>"users"} edit_user GET /users/:id/edit {:action=>"edit", :controller=>"users"} user GET /users/:id {:action=>"show", :controller=>"users"} PUT /users/:id {:action=>"update", :controller=>"users"} DELETE /users/:id {:action=>"destroy", :controller=>"users"} user_friends GET /users/:user_id/friends {:action=>"index", :controller=>"friends"} POST /users/:user_id/friends {:action=>"create", :controller=>"friends"} new_user_friend GET /users/:user_id/friends/new {:action=>"new", :controller=>"friends"} edit_user_friend GET /users/:user_id/friends/:id/edit {:action=>"edit", :controller=>"friends"} user_friend GET /users/:user_id/friends/:id {:action=>"show", :controller=>"friends"} PUT /users/:user_id/friends/:id {:action=>"update", :controller=>"friends"} DELETE /users/:user_id/friends/:id {:action=>"destroy", :controller=>"friends"} user_todos GET /users/:user_id/todos {:action=>"index", :controller=>"todos"} POST /users/:user_id/todos {:action=>"create", :controller=>"todos"} new_user_todo GET /users/:user_id/todos/new {:action=>"new", :controller=>"todos"} edit_user_todo GET /users/:user_id/todos/:id/edit {:action=>"edit", :controller=>"todos"} user_todo GET /users/:user_id/todos/:id {:action=>"show", :controller=>"todos"} PUT /users/:user_id/todos/:id {:action=>"update", :controller=>"todos"} DELETE /users/:user_id/todos/:id {:action=>"destroy", :controller=>"todos"} /:controller/:action/:id
ちなみに1.2.3で作ったすごく小さい(まぁ個人的な用を足してますけど)アプリは1ヶ所修正しただけで2.0.0-PRで動きました。