第2章 体验Ruby on Rails敏捷开发
本章要点
生成Rails应用
基本数据库连接配置
使用基本代码生成器
基本约定规则
设置中文响应
改进Model
改进控制器
改进视图页面
体验敏捷开发
前面已经介绍了Rails开发平台的各种相关知识,本章将向读者示范如何开发一个简单的Rails应用,这个Rails应用是一个简单的留言系统。
通过开发这个简单的留言系统,将向读者介绍Rails中如何使用一句简单的命令来生成整个Web应用的基本框架;如何使用代码生成器来生成应用程序的支架,实现C(Create)R(Read)U(Update)D(Delete)这些常用功能。
本章采用的开发方式是:随着客户需求的变更,应用的功能也可以逐渐改变、完善。通过这种开发方式,我们不难发现,使用Rails开发平台开发应用既可以快速提供应用原型让用户体验,也可以迅速满足用户新的需求。这就是Rails敏捷开发的魅力!
2.1 创建第一个Web应用
Rails包含了功能强大的代码生成器和一系列能够简化开发的约定规则,这就使得Ruby on Rails像是Web应用开发中的一场革命,将程序员从以往令人头疼的繁重开发工作中解脱出来,从而可以轻松地享受编程的迅捷与快乐。
2.1.1 生成Rails应用及启动应用
Rails提供了功能强大的代码生成器,当我们选择Rails作为开发平台后,就可以使用它们来生成应用中的基本代码。这意味着我们不需要使用任何IDE工具,就可以开发Rails项目。不像开发一个Java Web应用,如果不借助于任何IDE工具,就需要手动地一点一点地新建文件夹、配置文件……使用Rails只需要一个命令。
我们先介绍Rails的第一个代码生成器:rails appName [options],该命令用于生成一个Rails应用的基本框架。其中,appName是该应用的名称,而options则是创建该应用的各种选项。
下面,我们使用rails命令来生成一个Rails应用。在DOS窗口输入如下命令:
rails firstApp
即可看到如图2.1所示的界面。
图2.1 使用rails命令生成Rails应用
只要执行这条简单命令,Rails就自动为我们生成了一个基本应用所需要的文件夹和文件,也就是完成了一个Rails应用的建立工作。进入我们刚才执行rails命令的目录(由图2.1中可以看出笔者在G:盘根路径下),将可以看到一个firstApp的目录,这个目录就是我们所建立的Rails应用。
接下来,就可以启动刚刚建立的Rails应用了。在DOS窗口下切换到该应用所在的路径下,执行如下命令:
ruby script/server
上面的命令将会启动刚刚建立的Rails应用。实际上,该命令是通过应用script路径下的server文件来执行的。使用上面的命令启动firstApp应用,将在DOS窗口看到如图2.2所示的运行界面。

图2.2 启动Rails应用
从图2.2中可以看出,Rails应用所使用的Web服务器是WEBrick。WEBrick是Ruby领域的Web服务器,就像Dot NET领域的IIS服务器,或者Java EE领域所使用的Tomcat,JBoss等。Web服务器的基本作用就是对外提供HTTP服务。当然,Web服务器的实现细节就不可能在这里深入展开了。
提示 有的读者可能会感到奇怪:我们从来没有安装过什么WEBrick服务器,机器上怎么会包含WEBrick服务器呢?读者不要忘记,我们安装过Ruby和Rails,Ruby默认包含了丰富的软件,其中 WEBrick HTTP服务器就是其中之一。WEBrick服务器允许我们自定义文档根路径,还可以像编写Java Servlet那样,编写Ruby领域的Servlet程序。但对于Rails开发者而言,我们无须太关心WEBrick的底层细节。
上面使用的启动Rails应用的方式,是最基本的启动Rails的方式,它启动的是开发环境中的应用。我们可以通过在ruby script\server命令中使用一些选项,来指定Rails的启动方式,常用的选项如下。
-p port(或--port port):指定运行Rails的端口。 |
启动Rails应用之后,就可以在浏览器中浏览这个应用了。我们使用如图2.2中不带任何选项的方式启动Rails,在浏览器的地址栏输入“http://127.0.0.1:3000/”,即可看到如图2.3所示的界面。

图2.3 firstApp应用
经过上面步骤,已经搭建了一个Rails应用框架。搭建一个Rails应用只需要一个命令就可以完成,这确实非常方便;当建立Rails应用之后,无须进行任何部署,只需一个命令就可启动Rails应用,这也是非常方便的事情。
为了方便读者观看本书中例子的运行效果,在所有例子的根路径下,都放有一个start.cmd文件,双击该文件,即可启动Rails服务器或控制台(启动控制台我们后面会讲到)。
提示 当我们使用rails命令来建立Rails应用时,rails命令会在firstApp应用的script路径下生成一个名为server的脚本,这个脚本用于启动WEBrick服务器。
上面的Rails应用完全没有任何业务功能,这是肯定的!计算机永远也不知道我们想要什么,所以它无法帮我们实现太多具体功能。
但上面的Rails应用又包含了如下几个代码生成器。
下面,我们来介绍如何使用scaffold代码生成器。因为在本章将要向读者示范的应用,就是在scaffold生成的支架的基础上改进而来的。
scaffold:生成某个模块的应用代码框架。
controller:生成某个模块的控制器代码框架。
model:根据数据表生成一个ActiveRecord模型类。
mailer:生成一个邮件模块的代码框架。
web_service:生成一个WebService模块的代码框架。
提示 对于一个企业应用而言,需求变更是不可避免的事情,我们的开发平台必须能正常应对这种需求变更。Rails平台提供了基本的代码生成器,通过这些代码生成器可以很快地开发出应用的雏形。而这个应用雏形具有很好的可扩展性,可以非常方便地添加新的功能,处理应用程序的需求变更,这也就是敏捷开发的精髓。
| 回书目 上一节 下一节 |
|
· 08年3月各大网上书店及.. · 网络工程师模拟测试获.. · 全国计算机软考考试指.. · 3月24日WCF聊天活动 积.. · 全国计算机等级考试四.. · 软件项目估计:第2版 |
· 系统分析师基础知识自.. · 构建可扩展的Web站点的.. · 2008年全国计算机等级.. · 网络数据安全与保密自.. · 博客园开发者征途:.NE.. · ASP.NET 2.0 WEB开发入.. |
|
||||
| · 2008年春季英特尔信息.. · 技术人求职简历完备手册 · 国际文档格式标准开战 · WCF开发基础 · Visual Studio 2005开.. · Linux——从菜鸟到高手 · 如何优化IT 控制能耗 · SQL Server入门到精通 |
· SQL Server 2008/2005.. · 贝恩资本携手华为22亿.. · ARP攻击防范与解决方案 · 初探敏捷开发 · 体验Visual Studio 200.. · SOA 面向服务架构 · CISSP认证成长之路 · 隐私保护技术探讨 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · SQL Server入门到精通 |
· 病毒查杀专题 · 国际文档格式标准开战 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · SOA 面向服务架构 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 |
· 病毒查杀专题 · 清除流氓软件——51CTO.. · Sniffer安全技术从入门.. · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||