说明:用户资源包括用户数据模型和这个模型相关的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、这个用户资源的不足

脚手架生成的用户资源有以下不足:

Ruby on Rails Tutorial 第二章 之 用户资源&MVC&REST的更多相关文章

  1. Ruby on Rails Tutorial 第二章 之 微博资源

    1.微博模型如下图所示: 2.创建微博资源,命令如下: $ rails generate scaffold Micropost content:text user_id:integer  #生成微博资 ...

  2. Ruby on Rails Tutorial 第二章 之 toy_app项目搭建

    (第一章小结) 第一步:生成项目骨架 $ rails _4.1.6_ new toy_app 第二步:修改Gemfile 第三步:安装gem $ bundle install --without pr ...

  3. Ruby on Rails Tutorial 第一章 之 简介

    1.目标:掌握MVC和REST.生成器.迁移.路由.嵌入式Ruby 本书涉及Rails,Ruby语言,Rails默认使用的测试框架(MiniTest),Unix命令行,HTML,CSS,少量的Java ...

  4. Ruby on Rails Tutorial 第一章 之 搭建开发环境

    云端开发环境,Cloud9(https://ide.c9.io/).这个开发环境预先安装好了Rails开发所需要的大多数软件,包括Ruby.RubyGems和Git,需要自己安装Rails. 1.安装 ...

  5. Ruby on Rails Tutorial 第一章笔记

    搭建开发环境 作者介绍了 Cloud9\ Coding.net 这样的云端开发环境 安装 Rails 1. 新建 rails 应用 首先,调用 rails new 命令创建一个新的 Rails 应用, ...

  6. Ruby on Rails Tutorial 第一章 之 Heroku部署

    1.目的:用Heroku将开发环境部署到生产环境中.Heroku专门用于部署Rails和其他Web应用,部署Rails应用的过程非常简单——只要源码纳入Git版本控制系统就好. 2.搭建Heroku部 ...

  7. Ruby on Rails Tutorial 第一章 之 Git项目管理

    1.安装和设置 (1)git的安装(略) (2)初始化设置 $ git config --global user.name "LihuaSun" $ git config --gl ...

  8. Ruby on Rails Tutorial读书笔记-1

    只是怕忘了命令,全部撸一次,记个大概.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 安装Ruby之前,先要安装RVM: curl -L https://get.rvm.io | bas ...

  9. Ruby on Rails Tutorial 第2版 学习笔记

    Ruby on Rails Tutorial 第2版 在线阅读:http://railstutorial-china.org/ 英文版:http://ruby.railstutorial.org/ru ...

随机推荐

  1. Web自动化框架搭建之二基于数据驱动应用简单实例~~

    整体框架,先划分成细小功能模块~~,从最简单的开始,介绍 实现循环百度搜索实例: #coding=utf-8 '''Created on 2014��6��9�� @author: 小鱼'''impo ...

  2. 精雕细琢 35 套精美的 PSD 图标素材

    设计师总是有独特的创意和精雕细琢的精湛技术,让我们值得去欣赏和借鉴,如梦想天空所表达的:非常感谢那些很有才华的设计师分享它们的劳动成果,让更多的人可以使用他们的创意设计.今天,本文与大家分享35套精美 ...

  3. [CODEVS1697]⑨要写信

    题目描述 Description 琪露诺(冰之妖精)有操控冷气的能力.能瞬间冻结小东西,比普通的妖精更危险.一直在释放冷气的她周围总是非常寒冷. 由于以下三点原因…… 琪露诺的符卡 冰符“Icicle ...

  4. ASP.NET性能优化小结(ASP.NET&C#)

    ASP.NET: 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库 ...

  5. C字符串和C++中string的区别 &&&&C++中int型与string型互相转换

    在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别:   C字符串 string对象(C++) 所需的头文件名称 ...

  6. android string[] arraylist<string>互转

    string[] to arraylist<string>:eg:string[] str; arraylist<string> arr; for(int i=0;i<s ...

  7. Linux中MySQL5.5解压版普通用户安装

    #查看本机mysql 安装路径 [hadoop@SY-0134 toolkit]$ rpm -qa|grep -i mysql [hadoop@SY-0134 toolkit]$ whereis my ...

  8. ESXi 与其它虚拟化底层产品之比较:

    序号 虚拟化管理程序属性 VMware ESXi 5.0 采用 Hyper-V 的 Windows Server 2008 R2 SP1 Citrix XenServer 5.6 FP1  1 磁盘占 ...

  9. Microsoft TFS 如何显示在Windows 的上下文菜单中

    How to showing in Windows Explorer context for TFS I am not sure if this would help or you are willi ...

  10. CSS 酷站

    http://mikkelbang.com/#!videos