Resource routes可以让你快速声明所有的共通的routes对于一个resource控制器。
资源路由可以一行声明代替index, show, new, edit, create,
update 和 destroy所有的
动作路由声明。
2.1 在web上的资源
浏览器发request可以指定http方法。例如GET,POST,PUT和DELETE.
每个方法都有对应调用控制器的某个方法。
如果你rails接受下面的request
DELETE /photos/17
而你的routes是这样配置的
resources :photos
rails将会把这个request请求调用 photos控制器的destory方法。参数
是 包含{ :id => “17” }。
2.2 CRUD, 动词和动作
resourceful route提供了一个mapping的与http方法和控制器的方法。
resources :photos
HTTP动作 | 路径 | action | 用途 |
---|---|---|---|
GET | /photos | index | 显示photos列表 |
GET | /photos/new | new | 返回一个创建新的photo的页面 |
POST | /photos | create | 创建一个 photo |
GET | /photos/:id | show | 显示一个指定的 photo |
GET | /photos/:id/edit | edit | 返回编辑photo的页面 |
PUT | /photos/:id | update | 更新指定的photo |
DELETE | /photos/:id | destroy | 删除一个指定的photo |
注意:
routes是根据顺序来进行路由转换的,如果你有个
get 'photos/poll' 路径不想调用到控制器的show
方法。你可以将你的 match 配置 写在 resources上面。
2.3 路径和URL
未完待续