编辑推荐
适读人群 :程序员、软件架构师 《Rails敏捷开发》荣获Jolt技术图书大奖。是深受欢迎的Rails开发教程。适合Ruby和Rails的初级、中级读者阅读,并可作为开发人员的参考手册。
内容简介
《Rails敏捷开发》荣获Jolt技术图书大奖。本书以讲解“购书网站”案例为主线,逐步介绍Rails的内置功能。全书分为3部分,第yi部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言知识;第二部分用迭代方式构建应用程序,然后依据敏捷开发模式开展测试,后用Capistrano完成部署;第三部分补充日常实用的开发知识。本书既有直观的示例,又有深入的分析,同时涵盖了Web开发各方面的知识,堪称一部内容全面而又深入浅出的佳作。第5版增加了关于Rails 5和Ruby 2.2新特性和佳实践的内容。
作者简介
Sam Ruby 是W3C HTML工作组的联合主席,曾为Apache软件基金会(Apache Software Foundation)的多个开源项目做出积极贡献。他也是IBM新兴技术组(Emerging Technologies Group of IBM)的高级技术专家。
Dave Thomas 是“敏捷宣言”的起草人之一,也是《Programming Ruby》的作者。作为活跃的Rails开发者,他对Rails有着深刻的理解。
David Heinemeier Hansson 是Rails框架的创造者。
精彩书评
本书的内容组织得非常出色。前两部分介绍如何构建Rails应用,演示项目简单易懂,全面展示了Rails为开发者创造的价值。第三部分的很多议题也很有价值。总而言之,这是一本好书,值得继续向Rails新手推荐!
? Jeff Holland
Ackmann & Dickenson公司高级软件工程师
目录
第一部分 新手入门 1
第1章 安装Rails 3
1.1 在Cloud9上安装Rails 4
1.2 在虚拟机上安装Rails 6
1.3 在Windows上安装Rails 8
1.4 在Mac OSX上安装Rails 11
1.5 在Linux上安装Rails 12
1.6 Rails版本的选择 14
1.7 设置开发环境 14
1.8 Rails和数据库 18
1.9 本章所学 19
第2章 牛刀小试 21
2.1 新建Rails应用 21
2.2 Hello, Rails! 24
2.3 把页面连接起来 30
2.4 如果发生错误 33
2.5 本章所学 36
2.6 练习题 36
2.7 清理工作 37
第3章 Rails应用的架构 39
3.1 模型、视图和控制器 39
3.2 Rails对模型的支持 42
3.3 Action Pack:视图和控制器 44
第4章 Ruby简介 47
4.1 Ruby是面向对象的语言 47
4.2 数据类型 49
4.3 控制逻辑 53
4.4 组织结构 56
4.5 对象的序列化 59
4.6 综合应用 59
4.7 Ruby惯用法 60
第二部分 构建一个应用 63
第5章 Depot应用 65
5.1 增量开发 65
5.2 Depot应用的功能 66
5.3 开始编写代码 70
第6章 任务A:创建应用 71
6.1 迭代A1:实现产品维护功能 71
6.2 迭代A2:美化产品列表 78
6.3 本章所学 84
6.4 练习题 85
第7章 任务B:验证和单元测试 87
7.1 迭代B1:验证! 87
7.2 迭代B2:模型的单元测试 92
7.3 本章所学 99
7.4 练习题 100
第8章 任务C:实现产品目录页面 101
8.1 迭代C1:创建产品目录列表 101
8.2 迭代C2:添加页面布局 105
8.3 迭代C3:通过辅助方法格式化价格 110
8.4 迭代C4:控制器的功能测试 111
8.5 迭代C5:缓存局部结果 113
8.6 本章所学 115
8.7 练习题 116
第9章 任务D:创建购物车 117
9.1 迭代D1:查找购物车 117
9.2 迭代D2:把产品放入购物车 118
9.3 迭代D3:添加按钮 121
9.4 本章所学 126
9.5 练习题 127
第10章 任务E:更智能的购物车 129
10.1 迭代E1:创建更智能的购物车 129
10.2 迭代E2:错误处理 135
10.3 迭代E3:完成购物车的开发 139
10.4 本章所学 143
10.5 练习题 143
第11章 任务F:添加少量Ajax代码 145
11.1 迭代F1:移动购物车 146
11.2 迭代F2:创建基于Ajax的购物车 153
11.3 迭代F3:突出显示更改 157
11.4 迭代F4:隐藏空购物车 160
11.5 迭代F5:通过Action Cable广播更改 164
11.6 本章所学 167
11.7 练习题 168
第12章 任务G:去结算! 169
12.1 迭代G1:获取订单 169
12.2 迭代G2:Atom订阅源 183
12.3 本章所学 186
12.4 练习题 186
第13章 任务H:发送电子邮件 189
13.1 迭代H1:发送确认邮件 189
13.2 迭代H2:应用的集成测试 196
13.3 本章所学 201
13.4 练习题 201
第14章 任务I:用户登录 203
14.1 迭代I1:添加用户 203
14.2 迭代I2:用户身份验证 207
14.3 迭代I3:访问限制 213
14.4 迭代I4:在侧边栏中添加几个管理链接 215
14.5 本章所学 219
14.6 练习题 219
第15章 任务J:国际化 221
15.1 迭代J1:区域的选择 222
15.2 迭代J2:在线商店店面的翻译 226
15.3 迭代J3:结算页面的翻译 233
15.4 迭代J4:添加区域设置选择器 239
15.5 本章所学 241
15.6 练习题 241
第16章 任务K:部署上线 243
16.1 迭代K1:使用Phusion Passenger和MySQL部署 245
16.2 迭代K2:通过Capistrano远程部署 252
16.3 迭代K3:检查部署后的应用 258
16.4 本章所学 260
16.5 练习题 261
第17章 Depot应用开发回顾 263
17.1 Rails中的概念 263
17.2 记录已完成的工作 266
第三部分 深入探索Rails 267
第18章 Rails内部概览 269
18.1 目录结构 269
18.2 命名约定 277
18.3 本章所学 280
第19章 Active Record 281
19.1 定义数据 281
19.2 识别和关联记录 286
19.3 创建、读取、更新和删除(CRUD) 290
19.4 参与监控过程 304
19.5 事务 310
19.6 本章所学 314
第20章 Action Dispatch和Action Controller 315
20.1 把请求分派给控制器 316
20.2 处理请求 325
20.3 跨请求的对象和操作 337
20.4 本章所学 345
第21章 Action View 347
21.1 使用模板 347
21.2 生成表单 349
21.3 处理表单 352
21.4 在Rails应用中上传文件 354
21.5 使用辅助方法 357
21.6 利用布局和局部模板减少维护投入 364
21.7 本章所学 372
第22章 迁移 373
22.1 创建和运行迁移 373
22.2 迁移详解 376
22.3 管理表 380
22.4 高级迁移技术 385
22.5 迁移的问题 388
22.6 在迁移外部处理模式 389
22.7 本章所学 390
第23章 非浏览器应用 391
23.1 使用Active Record开发独立应用 391
23.2 使用Active Support编写库函数 392
23.3 本章所学 397
第24章 Rails的依赖 399
24.1 使用Builder生成XML 399
24.2 使用ERB生成HTML 401
24.3 使用Bundler管理依赖 403
24.4 使用Rack与Web服务器交互 406
24.5 使用Rake自动执行任务 409
24.6 Rails依赖概览 411
24.7 本章所学 414
第25章 Rails插件 415
25.1 使用Active Merchant处理信用卡 415
25.2 使用Haml美化标记 417
25.3 分页 420
25.4 本章所学 422
25.5 在RailsPlugins.org中寻找更多插件 422
第26章 长路漫漫 425
附录A 参考书目 427
索引 429
精彩书摘
《Rails 5敏捷开发》是快速掌握Rails开发的佳资源。
? Prathamesh Sonpatki
BigBinary公司总监,Rails问题审核团队成员
不管使用哪种语言进行Web开发,本书都值得一看!
? Charles Stran
The Blaze公司产品工程与设计总监
这本书的新版依然很棒,在Rails开发时我反复参考。它是关于Rails开发的佳图书之一。
? Stephen Orr
Siftware公司高级开发工程师
前言/序言
如果说Rails是世界上开发效率高的Web开发框架,恐怕没有人会有异议。Rails以其“约定胜于配置”的先进设计理念和对Ruby语言元编程能力的娴熟应用,创造了Web开发框架历史上的一个奇迹。从开始流行至今,Rails一直都是其他语言开发框架的模仿对象,例如PHP语言的Yii框架、Python语言的Django框架,等等。一直被模仿,从未被超越,这句话放在Rails身上真是恰如其分。
从商业应用的角度看,互联网从兴起到现在已经经历了Web 1.0、Web 2.0和移动互联网时代,正在进入人工智能和物联网时代。而移动互联网本身经历了2G、3G和4G时代,即将进入5G时代。未来,移动互联网仍将是重要的基础设施和商业竞争的主战场,因此Web应用不仅不会走向夕阳薄暮,反而会迎来一个更加蓬勃的春天。在这样一个背景下,Rails将继续成为程序员手中的利器,帮助创业者和商业公司在时代潮头横刀立马。
作为Ruby China社区(https://ruby-china.org)的用户,译者一直为国内Ruby社区融洽的氛围和高质量的讨论内容而感到庆幸不已,同时也想尽自己的绵薄之力回馈社区。对于Rails程序员来说,入门和提高都不是一件易事,这不仅因为Ruby语言表达能力极强、灵活多变,更因为Rails本身功能完备、包罗万象。可以说,Rails开发就像演奏音乐,既可以行云流水,也可以凝滞生涩,强者以一当十、游刃有余,弱者步履蹒跚、漏洞百出,两者高下立判。因此,学习Rails尤其需要名师和秘籍,不仅要领新手入门、扶上马、送一程,更要能帮助开发者掌握要领、理清思路、拓宽视野,为继续修行提高指明方向、注入动力。《Rails 5敏捷开发(第5版)》正是这样一本绝世好书,入门提高兼宜。我们也为能有机会翻译这样一本好书而不胜欣喜。
在策划和翻译本书的过程中,华中科技大学出版社的徐定翔老师和Ruby China社区的各位同仁给予了热情鼓励和实际帮助,在此一并表示感谢。同时也要感谢家人的理解和包容,正是在你们的支持下,长达数月的翻译过程才能终走向胜利的长征,让一切的艰辛和付出都有了回报。
本书承蒙大疆Ruby技术团队的审校,他们为本书译稿提供了众多宝贵意见,特此感谢!当然,书中若仍有不当之处,所有责任都在译者自身。
希望译者的工作成果能够为大家学习Rails助一臂之力。后,以一句结语和大家共勉:学习Rails,永远在路上!
译 者
2017年9月10日
Rails 5敏捷开发 下载 mobi epub pdf txt 电子书 格式