-
应用Rails进行敏捷Web开发(中文版)第三版下载
资源介绍
应用Rails进行敏捷Web开发(中文版)第三版
目录 i
第 1 章......................................................................................................................................... 1
简介............................................................................................................................................. 1
1.1 Rails 是敏捷的......................................................................................................... 3
1.2 读你所需..................................................................................................................... 4
1.3 致谢............................................................................................................................. 5
第 2 章......................................................................................................................................... 8
Rails 应用的架构..................................................................................................................... 8
2.1 模型,视图,以及控制器........................................................................................ 8
2.2 Active Record : Rails 的模型支持........................................................................ 10
2.3 Action Pack:视图与控制器.................................................................................... 13
第 3 章......................................................................................................................................... 16
安装Rails..................................................................................................................................... 16
3.1 购物清单..................................................................................................................... 16
3.2 Windows 上的安装.................................................................................................... 17
3.3 Mac OS X 上的安装................................................................................................ 18
3.4 Linux 上的安装......................................................................................................... 19
3.5 Rails 版本选择......................................................................................................... 20
3.6 开发环境..................................................................................................................... 21
3.7 Rails 和数据库......................................................................................................... 24
3.8 保持更新..................................................................................................................... 26
3.9 Rails 和ISPs................................................................................................................. 26
第 4 章......................................................................................................................................... 27
立竿见影..................................................................................................................................... 27
4.1 新建一个应用程序.................................................................................................... 27
4.2 Hello, Rails..................................................................................................................... 29
4.3 把页面连起来............................................................................................................. 38
4.4 我们做了什么............................................................................................................. 42
第 5 章......................................................................................................................................... 46
Depot 应用程序......................................................................................................................... 46
5.1 增量式开发................................................................................................................. 46
5.2 Depot 做些什么......................................................................................................... 47
5.3 我们编码吧................................................................................................................. 51
第 6 章......................................................................................................................................... 51
任务A :货品维护..................................................................................................................... 51
6.1 迭代 A1 :跑起来再说............................................................................................ 52
6.2 创建货品模型和维护应用........................................................................................ 56
6.3 迭代 A2 :添加缺失的字段.................................................................................... 60
6.4 迭代 A3 :检查一下................................................................................................ 65
6.5 迭代 A4 :更美观的列表页.................................................................................... 69
第 7 章 ..................................................................................................................................... 75
任务B :分类显示..................................................................................................................... 75
7.1 迭代 B1 :创建分类列表.................................................................................... 75
7.2 迭代 B2 :添加页面布局........................................................................................ 78
7.3 迭代 B3 :用辅助方法格式化价格........................................................................ 81
Web开发敏捷之道——应用Ralls进行敏捷Web开发,第3版
ii 目录
7.4 迭代 B4 :链接到购物车........................................................................................ 82
第 8 章 ..................................................................................................................................... 84
任务C :创建购物车................................................................................................................. 84
8.1 事务............................................................................................................................. 85
8.2 迭代 C1 :创建购物车............................................................................................ 88
8.3 迭代 C2 :创建更聪明的购物车............................................................................ 91
8.4 迭代 C3 :处理错误................................................................................................ 94
8.5 迭代 C4 :结束购物车............................................................................................ 98
第 9 章..................................................................................................................................... 101
任务D :Ajax初体验 ......................................................................................................... 101
9.1 迭代Dl:迁移购物车............................................................................................ 102
9.2 迭代 D2 :创建基于Ajax的购物车.................................................................... 107
9.3 迭代 D3 :高亮显示变化.................................................................................... 110
9.4 迭代 D4 :隐藏空购物车.................................................................................... 112
9.5 迭代 D5 : JavaScript 被禁用时的对策............................................................ 115
9.6 我们做了什么......................................................................................................... 116
第10章 ................................................................................................................................. 118
任务E :付账......................................................................................................................... 118
10.1 迭代 E1 :收集订单信息................................................................................ 118
第11章 ................................................................................................................................. 133
任务F :管理......................................................................................................................... 133
11.1 迭代 F1 :添加用户........................................................................................ 133
11.2 迭代 F2 :登录................................................................................................ 142
11.3 迭代 F3 :访问控制........................................................................................ 145
11.4 迭代 F4 :增加边栏,以及更多的管理功能................................................ 148
第12章 ................................................................................................................................. 154
任务G :最后一点小改动.................................................................................................... 154
12.1 生成XML............................................................................................................. 154
12.2 扫尾工作............................................................................................................. 164
第13章..................................................................................................................................... 167
任务I: 国际化......................................................................................................................... 167
13.1 迭代 I1: 启用翻译................................................................................................ 167
13.2 迭代 I2: Exploring Strategies for Content............................................................ 179
第14章..................................................................................................................................... 182
任务 T: 测试......................................................................................................................... 182
14.1 加上测试............................................................................................................. 182
14.2 模型的单元测试................................................................................................ 183
14.3 控制器的功能测试............................................................................................ 194
14.4 应用程序的集成测试........................................................................................ 208
14.5 性能测试............................................................................................................. 216
14.6 使用 Mock 对象................................................................................................ 219
第15章..................................................................................................................................... 224
深入Rails................................................................................................................................. 224
15.1 Rails 在哪儿......................................................................................................... 224
Web开发敏捷之道——应用Ralls进行敏捷Web开发,第3版
目录 iii
15.2 目录结构............................................................................................................. 224
15.3 Rails 配置............................................................................................................. 231
15.4 命名约定............................................................................................................. 234
15.5 Rails 的日志......................................................................................................... 236
15.6 调试信息............................................................................................................. 237
15.7 精彩预告............................................................................................................. 238
第16章..................................................................................................................................... 240
Active Support......................................................................................................................... 240
16.1 通用扩展............................................................................................................. 240
16.2 枚举和数组......................................................................................................... 241
16.3 Hashes..................................................................................................................... 243
16.4 字符串扩展......................................................................................................... 243
16.5 数值的扩展......................................................................................................... 246
16.6 时间和日期的扩展............................................................................................ 247
16.7 Ruby 符号的扩展................................................................................................ 249
16.8 with_options............................................................................................................. 249
16.9 Unicode 支持......................................................................................................... 250
第17章..................................................................................................................................... 255
数据迁移................................................................................................................................. 255
17.1 创建和运行迁移任务........................................................................................ 256
17.2 剖析迁移任务.................................................................................................... 258
17.3 表的管理............................................................................................................. 261
17.4 数据迁移任务.................................................................................................... 266
17.5 高级迁移任务.................................................................................................... 269
17.6 迁移任务的缺点................................................................................................ 273
17.7 在迁移任务之外操作数据库结构.................................................................... 273
17.8 管理迁移任务.................................................................................................... 274
第18章..................................................................................................................................... 276
ActiveRecord 第一部分:基础............................................................................................ 276
18.1 表和类................................................................................................................. 277
18.2 字段和属性......................................................................................................... 277
18.3 主键与id................................................................................................................. 281
18.4 连接数据库......................................................................................................... 282
18.5 CRUD..................................................................................................................... 288
18.6 聚合与结构化数据............................................................................................ 305
18.7 杂录..................................................................................................................... 310
第19章..................................................................................................................................... 315
ActiveRecord 第二部分:.................................................................................................... 315
表间关联................................................................................................................................. 315
19.1 创建外键............................................................................................................. 316
19.2 在模型对象中指定关联.................................................................................... 317
19.3 belongs_to 和 has_xxx 声明................................................................................ 319
19.4 连接多张表......................................................................................................... 333
19.5 自引用的连接.................................................................................................... 342
Web开发敏捷之道——应用Ralls进行敏捷Web开发,第3版
iv 目录
19.6 Acts AS..................................................................................................................... 343
19.7 何时保存............................................................................................................. 347
19.8 预先读取子记录................................................................................................ 349
第20章..................................................................................................................................... 352
ActiveRecord 第三部分:.................................................................................................... 352
对象生命周期......................................................................................................................... 352
20.1 校验..................................................................................................................... 352
20.2 回调..................................................................................................................... 361
20.3 高级属性............................................................................................................. 368
20.4 事务..................................................................................................................... 371
第21章..................................................................................................................................... 378
ActiveController :路由与URL............................................................................................ 378
21.1 基础..................................................................................................................... 378
21.2 请求的路由......................................................................................................... 379
21.3 基于资源的路由................................................................................................ 392
21.4 路由的测试......................................................................................................... 408
第22章..................................................................................................................................... 411
ActionController和Rails......................................................................................................... 411
22.1 Action方法............................................................................................................. 411
22.2 Cookie 和Session................................................................................................ 421
22.3 Flash—Action 之间的通信................................................................................ 432
22.4 过滤器与校验.................................................................................................... 435
22.5 缓存初接触......................................................................................................... 442
22.6 GET 请求的问题................................................................................................ 450
第23章..................................................................................................................................... 453
Action View............................................................................................................................. 453
23.1 模板..................................................................................................................... 453
23.2 使用辅助方法.................................................................................................... 458
23.3 用于格式化、链接和分页的辅助方法............................................................ 459
23.4 如何使用表单.................................................................................................... 467
23.5 包装模型对象的表单........................................................................................ 468
23.6 自制表单构建器................................................................................................ 480
23.7 处理与模型对象无关的字段............................................................................ 484
23.8 Rails 应用的文件上传........................................................................................ 487
23.9 布局与组件......................................................................................................... 491
23.10 再论缓存............................................................................................................. 498
23.11 新增模板系统.................................................................................................... 502
第24章..................................................................................................................................... 505
Web 2.0..................................................................................................................................... 505
24.1 Prototype................................................................................................................. 505
24.2 Script.aculo.us......................................................................................................... 523
24.3 RJS模板................................................................................................................. 537
24.4 结论..................................................................................................................... 544
第25章..................................................................................................................................... 546
Web开发敏捷之道——应用Ralls进行敏捷Web开发,第3版
目录 v
ActionMailer............................................................................................................................. 546
25.1 发送邮件............................................................................................................. 546
25.2 接收邮件............................................................................................................. 556
25.3 电子邮件的测试................................................................................................ 558
第26章..................................................................................................................................... 561
Active Resources..................................................................................................................... 561
26.1 Active Resource的替代方法................................................................................ 561
26.2 让我看看代码吧................................................................................................ 563
26.3 关系和集合......................................................................................................... 566
26.4 把它们放在一起................................................................................................ 569
第27章..................................................................................................................................... 573
保护 Rails 应用..................................................................................................................... 573
27.1 SQL 注入............................................................................................................. 573
27.2 用参数直接创建记录........................................................................................ 575
27.3 不要相信id 参数................................................................................................ 577
27.4 不要暴露控制器方法........................................................................................ 578
27.5 跨站点脚本(CSS/XSS)........................................................................................ 579
27.6 防御session定置攻击........................................................................................ 581
27.7 文件上传............................................................................................................. 582
27.8 不要以明文保存敏感信息................................................................................ 583
27.9 用SSL 传输敏感信息........................................................................................ 583
27.10 不要缓存需要身份认证的页面........................................................................ 584
27.11 知己知彼............................................................................................................. 585
第28章..................................................................................................................................... 586
部署与生产............................................................................................................................. 586
28.1 尽早开始............................................................................................................. 586
28.2 生产服务器如何工作........................................................................................ 587
28.3 安装Passenger.................................................................................................... 589
28.3 使用 Capistrano 进行无忧部署 .................................................................... 590
28.5 检查已部署的应用程序.................................................................................... 595
28.6 投入生产运行之后的琐事................................................................................ 596
28.7 上线,并不断前进............................................................................................ 597
附录A......................................................................................................................................... 601
Ruby 简介............................................................................................................................. 601
A.1 Ruby 是一种面向对象的语言............................................................................ 601
A.2 Ruby 中的名称.................................................................................................... 602
A.3 方法..................................................................................................................... 603
A.4 类......................................................................................................................... 604
A.5 模块..................................................................................................................... 607
A.6 数组与hash............................................................................................................. 607
A.7 控制结构............................................................................................................. 609
A.8 正则表达式......................................................................................................... 609
A.9 代码块与迭代器................................................................................................ 610
A.10 异常..................................................................................................................... 611
Web开发敏捷之道——应用Ralls进行敏捷Web开发,第3版
vi 目录
A.11 对象序列化......................................................................................................... 611
A.12 交互式的Ruby.................................................................................................... 612
A.13 Ruby 惯用法......................................................................................................... 612
A.14 RDOC 文档......................................................................................................... 614
附录B......................................................................................................................................... 615
配置参数................................................................................................................................. 615
B.1 *配置............................................................................................................. 615
B.2 ActiveRecord 配置................................................................................................ 617
B.3 ActionController配置............................................................................................ 618
B.4 ActionView配置.................................................................................................... 620
B.5 ActionMailer 配置................................................................................................ 620
B.6 TestCase 配置......................................................................................................... 621
附录C......................................................................................................................................... 623
源代码..................................................................................................................................... 623
C.1 完整的 Depot 应用............................................................................................ 623
附录D......................................................................................................................................... 669
资源......................................................................................................................................... 669
D.1 在线资源............................................................................................................. 669
D.2 参考书目............................................................................................................. 669