Ruby on Rails Tutorial 第二章 之 用户资源&MVC&REST
说明:用户资源包括用户数据模型和这个模型相关的Web页面。
1、用户数据模型如下:
2、使用Rails内置的脚手架生成用户资源中,执行如下所示命令:
$ rails generate scaffold User name:string email:string #创建模型
$ rails destroy scaffold User #销毁模型
$ bundle exec rake db:migrate #用Rake来迁移数据库,为了使用Gemfile中指定的Rake版本,通过bundle exec执行rake
说明:
$ ./configure && make && sudo make install #Unix(包括Linux和Mac OS X)中编译代码的命令。Rake是Ruby版的make,用Ruby语言编写的类make程序。Rails灵活的运用了Rake的功能,提供了很多开发基于数据库的Web应用所需的管理任务。rake db:migrate或许是最常用的。除此之外还有很多其他命令,rake -T db可以查看所有数据库相关的任务。rake -T查看所有Rake任务。
用户资源中页面和URL的对应关系如下图所示:
3、Rails中的MVC架构如下:
图中各步的说明如下:
4、Rest框架说明
Rest是Representational State Transfer的缩写,意思是“表现层状态转化”,由计算机科学家Roy Fielding提出。Rest是一种架构方式,用来开发分布式、基于网络的系统和软件程序,如WWW和Web应用。在Rails中,REST意味着大多数组件(例如用户和微博)都会被模型化,变成资源(resource),可以创建(create)、读取(read)、更新(update)和删除(delete),这些操作与关系型数据库中的CRUD操作和HTTP请求方法(POST,GET,PATCH和DELETE)对应。用户模型符合Rest框架的路由如下:
5、这个用户资源的不足
脚手架生成的用户资源有以下不足: