前言 1
第1章 搭建Ruby on Rails 11
1.1 踏上网端的云:Heroku 11
1.2 尝试Instant Rails 15
1.3 尝试命令行 18
1.4 使用的是什么服务器 22
1.5 温故而知新 23
第2章 让Rails上线 25
2.1 创建视图 25
2.2 那些目录都是做什么用的 28
2.3 增添数据 30
2.4 Hello World是如何运行起来的 32
2.5 让视图免受控制器的侵害 34
2.6 小括号(通常)是可选的 34
2.7 为视图添加逻辑 35
2.8 温故而知新 37
第3章 添加样式 38
3.1 我想要CSS 38
3.2 布局 41
3.3 设置首页 46
3.4 温故而知新 48
第4章 控制数据流:控制器和模型 50
4.1 从欢迎访客开始 50
4.2 应用的内部流程 54
4.3 为留名册应用增加记录功能 56
4.4 使用ActiveRecord查找数据 63
4.5 温故而知新 65
第5章 用脚手架和REST加速开发 67
5.1 脚手架初探 67
5.2 REST和控制器的最佳实践 70
5.3 不为REST所困 84
5.4 温故而知新 84
第6章 用表单展现模型 87
6.1 在表单中包含多个数据项 87
6.2 通过脚手架生成表单 89
6.3 表单作为包装器 93
6.4 创建Text Field和Text Area 95
6.5 创建复选框 96
6.6 创建单选按钮 98
6.7 创建选择列表 100
6.8 日期和时间 103
6.9 Label 104
6.10 创建辅助方法 105
6.11 将表单主体放到局部页面模板中 108
6.12 温故而知新 110
第7章 使用校验增强模型 112
7.1 没有校验的情况 112
7.2 初始模型 115
7.3 声明式校验的威力 115
7.4 校验用户信息 117
7.5 校验日期 122
7.6 更复杂的校验 123
7.7 温故而知新 125
第8章 改进表单 127
8.1 通过上传文件添加图片 127
8.2 用表单构建器来标准化应用的外观 137
8.3 温故而知新 145
第9章 开发模型关系 147
9.1 将奖品关联到学生 148
9.2 将学生关联到奖品 153
9.3 嵌套奖品和学生 156
9.4 多对多关系:关联学生和课程 165
9.5 更多信息 177
9.6 温故而知新 178
第10章 使用数据迁移管理数据库 180
10.1 数据库迁移提供了些什么 180
10.2 数据迁移基础 181
10.3 数据迁移剖析 184
10.4 温故而知新 189
第11章 调试 190
11.1 创建你自己的调试信息 190
11.2 日志 191
11.3 使用Rails控制台 192
11.4 Ruby调试器 196
11.5 温故而知新 200
第12章 测试 202
12.1 测试模式 202
12.2 用夹具建立测试数据库 203
12.3 单元测试 207
12.4 功能测试 212
12.5 集成测试 218
12.6 超越基础 220
12.7 温故而知新 221
第13章 会话和Cookie 223
13.1 存取Cookie 223
13.2 在会话间保存数据 229
13.3 温故而知新 234
第14章 用户和验证 236
14.1 安装 236
14.2 存储用户数据 237
14.3 控制Session 238
14.4 对用户进行分类 245
14.5 更多选项 251
14.6 温故而知新 251
第15章 路由 253
15.1 创建路由解释URI 254
15.2 在视图和控制器中生成URI 262
15.3 无限的可能性 264
15.4 温故而知新 265
第16章 用Rails和AJAX创建动态界面 266
16.1 AJAX基础 266
16.2 用Rails为AJAX提供支持 268
16.3 通过AJAX来管理注册 270
16.4 深入AJAX 279
16.5 温故而知新 280
第17章 用Rails发邮件 281
17.1 发送文本邮件 281
17.2 发送HTML邮件 286
17.3 发送复杂的HTML邮件 289
17.4 接收邮件 293
17.5 温故而知新 298
第18章 Rails项目的安全、管理以及部署 299
18.1 保护应用程序 299
18.2 部署Rails应用程序 303
18.3 温故而知新 314
第19章 不仅仅是Rails 316
19.1 与Rails同步 316
19.2 插件 316
19.3 Ruby 317
19.4 Web服务 318
19.5 其他Ruby框架总览 318
19.6 把遗留应用程序迁移到Rails 319
19.7 不断前进 320
附录A Ruby精要指南 321
附录B 关系数据库精要指南 340
附录C 正则表达式精要指南 348
附录D Helper方法名录 357
附录E 词汇表 374