频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

2.1.1 生成Rails应用及启动应用

作者: 李刚 郭秋霞 出处:电子工业出版社  2008-04-02 15:06    砖    好    评论   进入论坛
阅读提示:《Ruby on Rails敏捷开发最佳实践》第2章向读者示范如何开发一个简单的Rails应用,这个Rails应用是一个简单的留言系统。本文讲了生成Rails应用及启动应用。

第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的端口。
例如:ruby script\server -p 3001。默认端口为3000。
 -b=ip(或--binding=ip):绑定Rails到指定的IP。默认IP为0.0.0.0。
 -e name(或--environment name):指定运行环境为test或development或production。
例如:ruby script\server -e production。
 -c=charset(或--charet=charet):为输出设置默认的字符集。
例如:ruby script\server -c=GB2312。如果没有使用这个选项,则默认的字符集为UTF-8。
 -h(或--help):显示该命令的帮助信息。

 

启动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:生成某个模块的应用代码框架。
 controller:生成某个模块的控制器代码框架。
 model:根据数据表生成一个ActiveRecord模型类。
 mailer:生成一个邮件模块的代码框架。
 web_service:生成一个WebService模块的代码框架。
下面,我们来介绍如何使用scaffold代码生成器。因为在本章将要向读者示范的应用,就是在scaffold生成的支架的基础上改进而来的。

提示  对于一个企业应用而言,需求变更是不可避免的事情,我们的开发平台必须能正常应对这种需求变更。Rails平台提供了基本的代码生成器,通过这些代码生成器可以很快地开发出应用的雏形。而这个应用雏形具有很好的可扩展性,可以非常方便地添加新的功能,处理应用程序的需求变更,这也就是敏捷开发的精髓。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节
专题
Ruby on Rails敏捷开发最佳实践
NAC安全访问控制
精通Ajax——基础概念、核心技术与典型案例
2008年春季英特尔信息技术峰会(IDF)
C专家编程
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
NAC安全访问控制
NAC安全访问控制
华为员工自杀频频拷问企业文化
华为员工自杀频频拷问企业文化
2008年春季英特尔信息技术峰会(IDF)
2008年春季英特尔信息技术峰..
· 2008年春季英特尔信息..
· 技术人求职简历完备手册
· 国际文档格式标准开战
· WCF开发基础
· Visual Studio 2005开..
· Linux——从菜鸟到高手
· 如何优化IT 控制能耗
· SQL Server入门到精通
· SQL Server 2008/2005..
· 贝恩资本携手华为22亿..
· ARP攻击防范与解决方案
· 初探敏捷开发
· 体验Visual Studio 200..
· SOA 面向服务架构
· CISSP认证成长之路
· 隐私保护技术探讨
清除流氓软件——51CTO特别专题
清除流氓软件——51CTO特别专..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 中间件应用技术专题
· SQL Server入门到精通
· 病毒查杀专题
· 国际文档格式标准开战
· Linux防火墙
· 打造安全服务器
· Sniffer安全技术从入门..
· SOA 面向服务架构
· ADSL应用面面俱到
· 入侵防护系统(IPS)初探
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· 中间件应用技术专题
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 身份认证技术
· 病毒查杀专题
· 清除流氓软件——51CTO..
· Sniffer安全技术从入门..
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· ADSL应用面面俱到
· ADSL应用面面俱到
· 反垃圾邮件技术应用