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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 机器上没安装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

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
缓存 前端开发 测试技术
框架分析(6)-Ruby on Rails
框架分析(6)-Ruby on Rails
|
5月前
|
SQL 前端开发 数据库
前端学 Ruby:熟悉Rails
前端学 Ruby:熟悉Rails
166 0
|
数据库 Ruby
【Ruby on Rails全栈课程】1.4 第一个HelloWorld
1、文件功能 文件名 功能描述 app/ 有Controllers(控制台)、Models(模型)和Views(视图)文件夹,接下来的内容主要都在这个目录。 config/ 应用程式设定档、路由规则、数据库设定等等 db/ 数据库的映射文件 lib/ 放一些自定义的Module、Class Gemfile gem插件列表,可以指定插件的版本 README 项目的使用说明
139 0
【Ruby on Rails全栈课程】1.4 第一个HelloWorld
|
Ubuntu 关系型数据库 MySQL
【Ruby on Rails全栈课程】1.3 Ruby On Rails运行环境安装 创建并启动项目
一. Ruby On Rails环境安装 1、打开Ubuntu系统(Windows系统打开虚拟机登录到Ubuntu系统;IOS系统在终端打开rails-va文件夹cd rails-va,输入vagrant up,再输入vagrant ssh),更新源列表
161 0
|
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中添加路由,通过此链接来提交在登录页面提交的信息
167 0
【Ruby on Rails全栈课程】3.6 登录功能--session、cookie
|
测试技术 数据库 数据安全/隐私保护
|
Web App开发 Ruby
Rails 和 Sinatra 的区别是什么?
在 IBM Bluemix 中国版的应用程序中看到Ruby Sinatra,于是想知道它和 Rails 有什么区别,但搜索一番,发现国内几乎没人关注这个问题,可能国内使用Ruby的就比较少。 有一个比较好的问题:用 Sinatra 构建网站,你会怀念 Rails 的什么特性? 但很可惜,回复并...
1221 0
|
Web App开发 Java iOS开发
Ruby on Rails入门——macOS 下搭建Ruby Rails Web开发环境
这里只介绍具体的过程及遇到的问题和解决方案,有关概念性的知识请参考另一篇:Ruby Rails入门——windows下搭建Ruby Rails Web开发环境 macOS (我的版本是:10.12.3 )下已经自带了 ruby  和 gem ,但 ruby 的版本有点低。
1345 0