ROR学习笔记(1):Rails 2快速创建GRUD应用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 机器上没安装ROR开发环境的朋友,请先参看 ruby on rails + mysql 开发环境搭建 架好环境 注:ROR的经典著作“Web开发敏捷之道--应用Rails进行敏捷Web开发”目前中文的只有第二版,作者写书的环境是rails 1.x,现在rails的版本已经更新至2.3.5,很多东西已经变了,如果参考第二版的书上一步步来做的话,根本做不下去。

机器上没安装ROR开发环境的朋友,请先参看 ruby on rails + mysql 开发环境搭建 架好环境

注:ROR的经典著作“Web开发敏捷之道--应用Rails进行敏捷Web开发”目前中文的只有第二版,作者写书的环境是rails 1.x,现在rails的版本已经更新至2.3.5,很多东西已经变了,如果参考第二版的书上一步步来做的话,根本做不下去。(目前该书已经出了第三版,只不过国内暂时尚无翻译版本,http://hlee.javaeye.com/blog/363605 这里可以下载该书英文电子版)

以下操作命令,均在windows 命令行模式下完成 

1.进入工作目录(本例为d:\mydoc\ror\)

d:

cd mydoc\ror

 

2.创建带mysql的rails项目:depot (项目名称可随便起,不一定要用depot)

D:\MyDoc\Ror\depot>rails -d mysql depot

 

3.编辑database.yml,修改username与password,同时在mysql中把database.yml对应的数据库建好(注意编码建议选择为utf8)

注意:mysql不要安装最新的5.1版本,建议用5.0版本,否则rake在做数据库迁移时,可能会出现问题.

 

4.测试是否能跑起来

D:\MyDoc\Ror\depot>ruby script/server

运气好的话,浏览本机 http://localhost:3000/ 应该能出现以下画面
img_3adbffbb64436ad3a60ffc7f0f560f51.jpg

 

5.添加product产品实体模型
D:\MyDoc\Ror\depot>ruby script/generate scaffold product title:string description:text image_url:string

这里将创建一个product实体类,里面有三个成员title,description,image_url

 

6.将实体同步到数据库
D:\MyDoc\Ror\depot>rake db:migrate

执行完后,mysql数据库depot_development中将自动生成一张表products

 

注:回想一下.net中的linq to sql/entity,是先在数据库中建表,然后自动映射成实体类,而在ROR中是反过来的。

ok了,基本上搞完了!

 

浏览:http://localhost:3000/products 自个儿暗爽去吧
(注:ROR是一个纯粹的MVC框架,如果您熟悉asp.net mvc,接触ROR也会相当轻松)

产品列表页:
img_128e025412a45a98fd7ee367a10bd93f.jpg

修改产品页:
img_31c230f9f3a44776182110a946fb64ec.jpg

 

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12月前
|
SQL 关系型数据库 数据库
Tortoise ORM入门之理论篇
Tortoise ORM入门之理论篇
1059 0
Tortoise ORM入门之理论篇
|
JavaScript 前端开发 UED
|
存储 Web App开发 数据库
【Ruby on Rails全栈课程】3.6 登录功能--session、cookie
1、功能描述 (1)登录需要填写信息:邮箱、密码。当邮箱没有注册需要进行相应的提示。 (2)将数据库保存的密码解密后,与用户在页面输入的密码作对比,相同可登录。 (3)用户角色为管理员时,需要判断这个账号的状态,状态为未激活时(status为1),需要flash.notice提醒激活。 2、编辑controller、view、路由 (1)在路由文件config/routes.rb中添加路由,通过此链接来提交在登录页面提交的信息
244 0
【Ruby on Rails全栈课程】3.6 登录功能--session、cookie
|
数据可视化 关系型数据库 MySQL
Gerrit的用法及与gitlab的区别
Gerrit的用法及与gitlab的区别
1490 0
Gerrit的用法及与gitlab的区别
|
Ruby 容器
【Ruby on Rails全栈课程】2.7 块(Block)和迭代器
1、块(Block) 块是ruby 的一个独特特性,是一种可以和方法调用相关联的代码块。 是在花括号{}或者do…end之间的一组代码,一般我们在单行中block用花括号{},在多行中用do…end (1)块的格式
149 0
|
测试技术 数据库 数据安全/隐私保护