这节和前两天做的实现一个简易的blog程序几乎一样,大致步骤如下:
1.利用脚手架scaffold为User和Post建立模型,其实对于Post采用Model生成也可以
2.在Model中为Post和User生成一对多的关系
3.改变路由规则,使Post包含在User里面
4.编写相应View,唯一注意的是Post传参数要把它对应的User加上。
下面再次分析一下MVC的流程。
总结下MVC的具体流程
1.在浏览器中输入 http://localhost:3000/users 点击回车,浏览器把请求发给router
2.router在路由文件中检测到 resources :users 时,根据REST规则,知道要将其交给index来处理
3.在UsersController中,index对应代码为:
@users= User.all
于是controller将User.all发给Model
4.Model去具体操纵数据库,获取结果
5.Model将结果返回给Controller
6.Controller收到查询结果,赋给@users,将该变量传给View中的index.html.erb
7.View将index.html.erb转化成具体的HTML文件,返回给Controller
8.Controller将HTML返回给用户浏览器
整个步骤完成
如果是请求/users/new/1 需要先返回new.index.erb 用户填写完毕后经过create 去创建,最后返回到/users 界面
其他类似。