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、这个用户资源的不足
脚手架生成的用户资源有以下不足:
Ruby on Rails Tutorial 第二章 之 用户资源&MVC&REST的更多相关文章
- Ruby on Rails Tutorial 第二章 之 微博资源
1.微博模型如下图所示: 2.创建微博资源,命令如下: $ rails generate scaffold Micropost content:text user_id:integer #生成微博资 ...
- Ruby on Rails Tutorial 第二章 之 toy_app项目搭建
(第一章小结) 第一步:生成项目骨架 $ rails _4.1.6_ new toy_app 第二步:修改Gemfile 第三步:安装gem $ bundle install --without pr ...
- Ruby on Rails Tutorial 第一章 之 简介
1.目标:掌握MVC和REST.生成器.迁移.路由.嵌入式Ruby 本书涉及Rails,Ruby语言,Rails默认使用的测试框架(MiniTest),Unix命令行,HTML,CSS,少量的Java ...
- Ruby on Rails Tutorial 第一章 之 搭建开发环境
云端开发环境,Cloud9(https://ide.c9.io/).这个开发环境预先安装好了Rails开发所需要的大多数软件,包括Ruby.RubyGems和Git,需要自己安装Rails. 1.安装 ...
- Ruby on Rails Tutorial 第一章笔记
搭建开发环境 作者介绍了 Cloud9\ Coding.net 这样的云端开发环境 安装 Rails 1. 新建 rails 应用 首先,调用 rails new 命令创建一个新的 Rails 应用, ...
- Ruby on Rails Tutorial 第一章 之 Heroku部署
1.目的:用Heroku将开发环境部署到生产环境中.Heroku专门用于部署Rails和其他Web应用,部署Rails应用的过程非常简单——只要源码纳入Git版本控制系统就好. 2.搭建Heroku部 ...
- Ruby on Rails Tutorial 第一章 之 Git项目管理
1.安装和设置 (1)git的安装(略) (2)初始化设置 $ git config --global user.name "LihuaSun" $ git config --gl ...
- Ruby on Rails Tutorial读书笔记-1
只是怕忘了命令,全部撸一次,记个大概.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 安装Ruby之前,先要安装RVM: curl -L https://get.rvm.io | bas ...
- Ruby on Rails Tutorial 第2版 学习笔记
Ruby on Rails Tutorial 第2版 在线阅读:http://railstutorial-china.org/ 英文版:http://ruby.railstutorial.org/ru ...
随机推荐
- sql基本语句
---恢复内容开始--- 查询有几个不同的职位名称: select distinct name from a: group by: 现在有两个表product和sales,字段分别如下: TABLES ...
- [NOI2001]反正切函数的应用
Time Limit:1000ms Memory Limit:65536kB Description 反正切函数可展开成无穷级数,有如下公式 (其中0 <= x <= 1) 公式(1) 使 ...
- 利用ASP.NET MVC源代码调试你的应用程序[转]
由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试AS ...
- 连分数(分数类模板) uva6875
//连分数(分数类模板) uva6875 // 题意:告诉你连分数的定义.求连分数,并逆向表示出来 // 思路:直接上分数类模板.要注意ai可以小于0 #include <iostream> ...
- openstack 云平台API
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABVYAAAKrCAIAAACV8EEMAAAgAElEQVR4nOydeVgUaZ7n/W9299nd7n
- homework-06-C++11
http://blog.csdn.net/lancelet/article/details/7220558 http://www.csdn.net/article/2012-05-15/2805585 ...
- C++问题-无法打开包括文件:“GLES2/gl2.h”
资料来源:http://blog.csdn.net/weizehua/article/details/12623719http://tieba.baidu.com/p/2747715029 问题经过: ...
- JSF 2 multiple select listbox example
In JSF, <h:selectManyListbox /> tag is used to render a multiple select listbox – HTML select ...
- HDU 4052 Adding New Machine (线段树+离散化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4052 初始给你w*h的矩阵,给你n个矩形(互不相交),按这些矩形尺寸把初始的矩形扣掉,形成一个新的'矩 ...
- jquery 鼠标经过放大图片
jquery.elevatezoom.js文件请到演示文件查看 演示 JavaScript Code <script type="text/javascript"> $ ...