首页>参考读物>计算机科学与技术>软件与程序设计

Rails开发者指南
作者 : Jeffrey Allan Hardy
译者 : 刘申
出版日期 : 2008-12-02
ISBN : 7-111-25230-6
定价 : 42.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 249
开本 : 16开
原书名 : Beginning Rails:From Novice to Professional
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书对于那些想学习如何用基于Ruby的Rails框架创建动态Web应用的人来说,是一本非常实用的入门书籍。你将会从中学到Rails各个组件之间是如何配合的,以及如何在用它们创建出复杂的Web应用的同时,确保使用更简洁的代码,且拥有更愉悦的开发体验。

本书的主要内容:
  Ruby编程语言简介。
  在不同操作系统上安装Ruby和Rails。
  Rails背后的编程理念及其重要性。
  “模型-视图-控制器”架构。
  关系数据库和SQL的基础知识。
  设置MySQL数据库并通过migration创建schema。
  在Rails的console中体验实时的应用。
  在模型间创建多重关系。
  正确使用控制器和模板。
  利用helper保持模板简洁并脱离逻辑。
  通过Ajax和视觉效果丰富你的用户体验。
  使用Prototype和script.aculo.us这两种JavaScript函数库。
  学习如何让你的应用程序收发邮件。
  使用并创建自己的插件。
  通过写测试让你的代码避免墨菲定律的魔咒。
  用Capistrano为你的应用程序进行部署。

图书特色

图书前言

至今已经有很多Rails入门类书籍了。我们也读了很多,但是却发现大多没有起到很大的帮助。我们认为缺少这么一类书:完全针对初学者,而且还会传授足够的Rails文化和理念,并使其成为非常实用的一部分。Rails是一个很大的主题,很多书籍想传达的内容太多,以至于使它们不能有效地传达出Rails的核心功能。本书则会完全不同。
  本书特别适合那些有一点或者甚至没有任何Web应用开发经验的人,或者有一些经验,但是对Rails却是个新手。我们假设你对Web标记语言(比如HTML)已经有所了解,并且你可以自如地安装软件。但是你无需知道如何去编程,如何使用Web服务器,如何维护网页状态,或者如何创建和连接数据库。本书将会向你传授Web应用运作以及Rails快速构建的基础知识。
  每个人都是从初学者起步的,我们也不例外。当开始写这本书的时候,我们考虑的是在创建第一个Rails应用时认为最实用的内容。我们希望了解什么呢?什么可以令事情变得简单呢?我们开始创作这本书力求把复杂的Web开发以深入浅出的方式讲出来,让初学者能够开个好头。
  如果你正在寻找一本介绍Rails老手高级技巧的书,那么本书可能会令你失望。本书没有探究那些Ruby或者Rails的复杂细节,没有自关联多态(selfreferential polymorphic)连接或者高级缓存技术(advanced caching techniques)等Rails主题。相反,我们只关注框架中能让你快速上手的部分。我们让你尽快适应Rails环境,而不是把你埋葬在无数的细节中,这也是为什么我们把本书的每一章都设计成围绕框架中的一个具体组件,并且关注那部分最实用的功能。
  如果你以前没有编程经验,应当首先阅读附录A中的Ruby简介。如果你没有接触过数据驱动的应用程序,还应当阅读附录B对关系数据库的介绍。当你准备好了,第1章将会向你介绍“Rails之道”(the Rails way),第2章将会教你在自己的机器上安装Ruby和Rails。本书的其余部分将会介绍创建实际应用程序的过程,逐个向你介绍Rails框架的相关组件。
  本书的大部分篇幅都是介绍你最常使用的功能,而在你不常用的功能上,我们所用的篇幅也较少。在Rails中你所做的大多数事情都与模型(model)有关,所以你必须要了解Active Record,它是Rails用来与数据库进行通信的函数库。Active Record很自然地成为Rails框架中最庞大的组件,所以你在它身上投入很多时间、我们在它身上铺了很多笔墨(第4、5章)也就都在情理之中了。如果你了解如何对某个领域创建模型并知道如何与数据库对象进行有效的操作,那么就为余下的创建工作打下了一个很好的基础。在我们深入研究Action Pack(第6章,它是Rails的Web组件)的时候,已经创建了完整的模型,并把它用作试运行。在第6章,你会学到如何创建控制器与视图,以及如何用视图把你的模型通过Web展示出来。第7章会阐述如何通过Ajax和其他的技术改进用户界面。第8章会向你展示应用程序如何通过Action Mailer收发邮件。剩下的章节将会向你传授一些非常重要,而且你也必须要了解的知识:对应用程序进行测试;插件的安装、使用与创建;最后是应用程序的部署以及发布。
  Rails的发展很快。在本书写作期间,它的一些功能又被添加、改进、引起争议或移除掉了,我们力图使本书保持最新并且相关。本书介绍的是Rails 123(此版本为当时的稳定版),我们还在未来版本中可能出现的功能上引入了“注意”与“提示”。如果你正在使用更新版本的Rails,你可能会发现有一些东西已经改变了,但是对于大部分内容而言,你完全不用担心。
  固然,Rails是一个很庞大的框架,它所包含的内容远非一本书所能囊括的。然而,抛开它的大小以及功能强弱不谈,Rails是一门从理论上非常容易掌握的技术,这都要依仗于它功能上的强大。通过此书,你将会学到所有用Rails创建Web应用所需的知识。
  本书的网站
  一定要浏览本书的网站:http://beginningrailscom。除了大多数本书所使用的最新源代码,你还会在上面看到勘误、注意、提示以及其他重要的更新。你还可以与作者进行沟通,询问技术难题并获得所需要的帮助。

封底文字

本书对于那些想学习如何用基于Ruby的Rails框架创建动态Web应用的人来说,是一本非常实用的入门书籍。你将会从中学到Rails各个组件之间是如何配合的,以及如何在用它们创建出复杂的Web应用的同时,确保使用更简洁的代码,且拥有更愉悦的开发体验。 本书的主要内容: Ruby编程语言简介。 在不同操作系统上安装Ruby和Rails。 Rails背后的编程理念及其重要性。 “模型-视图-控制器”架构。 关系数据库和SQL的基础知识。 设置MySQL数据库并通过migration创建schema。 在Rails的console中体验实时的应用。 在模型间创建多重关系。 正确使用控制器和模板。 利用helper保持模板简洁并脱离逻辑。 通过Ajax和视觉效果丰富你的用户体验。 使用Prototype和script.aculo.us这两种JavaScript函数库。 学习如何让你的应用程序收发邮件。 使用并创建自己的插件。 通过写测试让你的代码避免墨菲定律的魔咒。 用Capistrano为你的应用程序进行部署。

作者简介

Jeffrey Allan Hardy:Jeffrey Allan Hardy: 是一位Web开发者、程序员和会议演讲者,拥有7年以上创建大型Web应用的经验。

译者简介

刘申:暂无简介

译者序

Rails近两年的发展势头很迅猛,受到越来越多企业以及开发者的关注,介绍它的书籍也越来越多。但是你可能会发现,在众多的技术类书籍中,很少有专门针对初学者入门的。大多数书籍都是以某一个实际开发为例,让你一步一步跟着它做,在这个过程中,为你讲解操作上的细节。这便引出了一个严重的问题:初学者跟着这样的书做完了以后,发现自己根本无法独立开发一个新的项目,在他的脑子里对Rails并没有一个完整的概念。
  如果你想走进Rails的世界,并也遇到过上述的问题,那么本书就是你最好的选择了!
  本书的目的不仅仅是带领你走进Rails的世界——可以独立开发出新的Web应用,而且让你真正了解Rails Way(Rails之道)。Rails不仅仅是一个Web开发框架,它代表的是一种开发理念。只有真正理解这种思想,才能自如地运用它。对于开发者来说,如果不会语法,那很简单,我们可以去查API,但是如果不了解Rails Way,那说明你还是个Rails的门外汉。但是,如何把Rails Way传授给初学者呢?这便是本书的高明之处了。我想对于一个初学者来说,最难理解的地方可能就是MVC框架内部的逻辑关系了。而MVC框架的三个字母分别对应了Rails中三个最重要的函数库:Active Record、Action View和Action Controller。这三部分内容放在了本书中间部分去讲解。在它们之前,会先为你讲一些基础知识作为铺垫;在它们之后,会把这些知识进行巩固。
  本书的翻译工作得到了很多人的帮助,在此对他们一并报以诚挚的谢意。其中,要特别感谢陈冀康编辑,谢谢他的辛勤工作与鼓励;感谢InfoQ中文站的两位同事霍泰稳、赖翥翔,感谢他们的理解与支持;还要感谢FreeWheel的Bin Dong,是他把我带入了Rails世界;感谢Ethos的李剑、程序员杂志社的郑柯,是他们让我懂得了什么才是真正的“翻译”。
  本书由刘申整体统筹、翻译。参与翻译的还有:宋薇、朱瑜敏、鲁奇、刘晓东。由于本书翻译的比较仓促,难免会有某些疏漏,欢迎读者朋友批评指正。


  刘申
  2008年6月于哈尔滨工业大学

图书目录

译者序
致谢
引言
前言

第1章Rails框架简介1
11Web应用的兴起1
12Web并不是完美的2
13优秀的Web框架2
14走进Rails3
141Rails是Ruby4
142Rails鼓励敏捷5
143Rails是有主见的软件6
144Rails是开源的7
15MVC模式8
151MVC循环8
152MVC的层9
16构成Rails的函数库11
17Rails不是尚方宝剑11
18总结11
第2章入门12
21Rails安装的总体介绍12
22在Mac OS X 104 Tiger上安装13
221安装Apple Developer Tools
(Xcode)14
222安装MySQL14
223添加MySQL到你的PATH16
224安装Ruby17
225安装RubyGems19
226安装Rails19
227自动安装19
23在Windows XP上安装20
231安装MySQL20
232安装Ruby21
233安装Rails22
24在Linux上安装23
241安装MySQL23
242安装Ruby24
243安装RubyGems24
244安装Rails25
25创建第一个Rails应用程序25
251启动内建Web服务器26
252生成控制器27
253创建一个Action28
254创建一个模板28
26总结30
第3章运行起来再说31
31项目的总体介绍31
32创建events应用程序31
321创建项目数据库33
322创建Event模型34
323创建一个数据库表35
324生成一个控制器36
325用脚手架运行37
326添加更多的域38
327添加校验39
328生成脚手架41
33总结43
第4章对数据库进行操作:
Active Record44
41Active Record简介:Rails的对象-
关系映射44
411关于SQL45
412Active Record惯例46
42Console简介46
43Active Record基础:CRUD49
431创建新记录49
432读取(查询)记录52
433更新记录56
434删除记录57
44当好模型变坏时59
45总结60
第5章Active Record进阶:强化模型61
51添加方法61
52使用关联63
521声明关联64
522创建一对一的关联65
523创建一对多关联68
524应用关联选项71
525创建多对多关联72
526创建富多对多关联76
53为高级查询构建条件78
531使用一个条件Hash78
532使用一个SQL片段79
533使用一个数组80
534使用关联代理81
54应用校验82
541创建自定义校验方法82
542使用内建校验83
55生成回调86
56回顾更新的模型87
57总结91
第6章Action Pack:对视图和控制器的
操作92
61Action Pack组件92
611Action Controller92
612Action View94
613嵌入式Ruby95
614Helpers96
615路由96
616Action Pack请求周期97
62控制器的走查98
621设置路由98
622生成控制器101
623创建一个模板103
624对布局的操作104
625创建一个注册表单105
626使用表单helpers106
627处理请求参数109
628编写create action109
629渲染响应110
6210重定向110
6211在模板中显示错误信息111
6212添加edit(编辑)表单112
6213应用局部模板保持DRY113
6214添加login(登录)和logout
(退出)action116
63改进events控制器和模板120
631清理events控制器121
632在events模板中使用局部模板122
633为events表单添加种类122
634在events控制器中处理种类124
64使用控制器过滤器125
641要求使用过滤器的验证126
642应用过滤器到控制器127
65收尾工作129
651使用Action View helpers129
652在模板中避开HTML131
653为表述区域格式化131
654添加编辑控制132
655添加自定义helpers133
656为它赋予一些样式134
66总结142
第7章用Ajax改进交互144
71Ajax和Rails144
711Prototype and Helpers144
712JavaScript库145
72使用Ajax helpers145
721使用link_to_remote发起远程
调用146
722用form_remote_tag远程发送表单…151
723用observe_field和observe_form
来记录改变153
73使用scriptaculous helpers156
731添加自动补全功能156
732添加一个现场编辑器157
733添加可视化效果159
74使用RJS模板161
741在模板中运行RJS162
742在控制器中运行RJS164
75总结165
第8章发送和接收邮件166
81设置Action Mailer166
811配置邮件服务器的设置166
812配置应用程序设置167
82发送电子邮件168
821对基本的电子邮件进行操作170
822发送HTML电子邮件172
823为消息添加多种成分174
824添加附件175
825将收到的电子邮件发送至一个
Rails进程175
83总结177
第9章对你的应用程序进行测试178
91Rails处理测试的方式178
92Rails应用程序的单元测试180
921测试Event模型181
922对校验进行测试185
93对你的控制器进行功能测试186
931对Event控制器进行测试186
932创建一个测试helper188933运行整套的功能测试192
94集成测试194
941events应用程序的集成测试194
942基于故事的测试197
95运行整套测试200
96用rcov测量测试的覆盖情况201
97总结202
第10章用插件来扩展Rails203
101查找和安装插件203
1011查找插件204
1012安装插件204
102在我们的应用程序中使用一个插件205
1021修改数据库205
1022修改应用程序以便使用插件206
103创建自己的插件208
1031使插件可用于应用程序209
1032创建插件模块210
1033更新控制器和视图216
104总结218
第11章部署Rails应用程序219
111用Capistrano部署219
1111Capistrano的安装220
1112Capistrano处方221
1113部署服务器上的Capistrano223
1114自定义Capistrano任务223
112设置服务器架构224
1121单一架构224
1122代理集群服务器:推广中的
新产品225
1123立刻变成一位部署高手226
113总结227
附录ARuby——程序员的知音228
附录B数据库入门240
附录CRails社区247

教学资源推荐
作者: [美]保罗·C. 乔根森(Paul C. Jorgensen) 著
作者: [美]戴维 I. 施奈德(David I. Schneider) 著
作者: 郝玉洁
参考读物推荐
作者: 邓子云 郝斌 等
作者: 吴茂贵 王冬 李涛 杨本法 著
作者: 黄传禄 罗凌云 丁士锋 编著