suakx devlog

開発ブログのような

0 notes &

routes.rbでの注記

railsでのroute.rbでしてしまったタイポから気になったとこを少々。

resources :productsと書いた場合rake routesは

             GET    /products(.:format)          {:controller=>"products", :action=>"index"}
    products POST   /products(.:format)          {:controller=>"products", :action=>"create"}
 new_product GET    /products/new(.:format)      {:controller=>"products", :action=>"new"}
             GET    /products/:id(.:format)      {:controller=>"products", :action=>"show"}
             PUT    /products/:id(.:format)      {:controller=>"products", :action=>"update"}
     product DELETE /products/:id(.:format)      {:controller=>"products", :action=>"destroy"}
edit_product GET    /products/:id/edit(.:format) {:controller=>"products", :action=>"edit"}

resource :productsと書いた場合rake routesは

             GET    /product(.:format)      {:controller=>"products", :action=>"show"}
             POST   /product(.:format)      {:controller=>"products", :action=>"create"}
             PUT    /product(.:format)      {:controller=>"products", :action=>"update"}
     product DELETE /product(.:format)      {:controller=>"products", :action=>"destroy"}
 new_product GET    /product/new(.:format)  {:controller=>"products", :action=>"new"}
edit_product GET    /product/edit(.:format) {:controller=>"products", :action=>"edit"}

resources :productと書いた場合rake routesは

             GET    /products(.:format)          {:controller=>"products", :action=>"index"}
    products POST   /products(.:format)          {:controller=>"products", :action=>"create"}
 new_product GET    /products/new(.:format)      {:controller=>"products", :action=>"new"}
             GET    /products/:id(.:format)      {:controller=>"products", :action=>"show"}
             PUT    /products/:id(.:format)      {:controller=>"products", :action=>"update"}
     product DELETE /products/:id(.:format)      {:controller=>"products", :action=>"destroy"}
edit_product GET    /products/:id/edit(.:format) {:controller=>"products", :action=>"edit"}

resource :productと書いた場合rake routesは

             GET    /product(.:format)      {:controller=>"products", :action=>"show"}
             POST   /product(.:format)      {:controller=>"products", :action=>"create"}
             PUT    /product(.:format)      {:controller=>"products", :action=>"update"}
     product DELETE /product(.:format)      {:controller=>"products", :action=>"destroy"}
 new_product GET    /product/new(.:format)  {:controller=>"products", :action=>"new"}
edit_product GET    /product/edit(.:format) {:controller=>"products", :action=>"edit"}

となり、controllerは複数形にしておかないといけないということと、resourceを単数系か複数形かにすることによってresetfulの挙動が変るということ。