本周我逐渐理解了这三个概念及之间的关系,以下是我自己的理解.(附上网页运作概念的理解)
CRUD
基于database的网站的本质上是对database的处理,具体来说把database存起来之后在database里做这四种操作(Create Data, Read Data, Update Data, Delete Data ),
这也就是CRUD.Http Verb
我们在网上进行操作(进入到一个不同的url),叫做发出http request,http响应后,叫做http response。
request分为四种类型(我们会发出下4种http request):get,post,put/patch, delete
我们叫它4种Http动作(verb):Get、Post、Upload、DeleteRESTful
我们想让这四种请求通过一些方式执行对应的datadase的四种操作, 但是大家执行CRUD和网址设定都不一样,所以我们想要建立规范,所以产生RESTful这个概念.
rails里我们通过Action去对应。
最常用的是以下7种action,以建立讨论组(group的新建,编辑,删除)来举例:
index:http get通过这个action及后续一系列操作执行了read data的操作,对应首页
new:http get通过这个action及后续一系列操作执行read data的操作, 对应新增分组页面
create:http post通过这个action及后续一系列操作执行了create data的操作,对应新增一个分组
edit: http get通过这个action及后续一系列操作执行read data的操作,对应编辑分组页面
update: http put通过这个action及后续一系列操作执行了update data的操作,对应修改一个分组
show: http get通过这个action及后续一系列操作执行了read data的操作,对应单个group页面
destroy: http delete通过这个action及后续一系列操作执行delete data的操作,对应单个group删除页面
(注:之所以不用一个单词我猜测的是希望不要把destroy和delete混淆,一个是http request一个是action)网页运作原理
用户执行操作,浏览器发出http request(get,post,put,delete),网站解析routes.rb,找到网址,然后通过controller找到对应的action,action会去models调出所用的资料(model会去database找所用的资料)。然后action会去按views的规则(views调用partial和helper)输出,成为我们看的网页