第1章:起步 1
加入Rails社区 2
寻找文档 4
安装MySQL 5
安装PostgreSQL 8
安装Rails 10
在OS X 10.4 Tiger上修订Ruby并安装Rails 12
在带有Locomotive的OS X上运行Rails 14
在Windows中用Instant Rails运行Rails 16
用RubyGems更新Rails 18
把你的Rails工程放入Subversion 19
第2章:Rails开发 23
创建一个Rails工程 23
用脚手架快速启动开发 26
用Mongrel来加速Rails开发 28
用Cygwin增强在Windows平台上进行的开发 31
理解Rails中的复数模式 32
在OS X平台上用TextMate进行Rails开发 36
用RadRails来进行跨平台开发 37
安装和运行边缘Rails 38
用SSH建立无密码认证 41
为你的Rails应用生成Rdoc 42
用Streamlined创建全功能的CRUD应用 45
第3章:Active Record 49
为Rails应用程序建立关系数据库 50
用程序定义数据库模式 54
开发可迁移数据库 56
使用Active Record建模 60
从Rails控制台考查模型关系 63
通过Active Record访问你的数据 66
使用find获取记录 68
在Active Record结果集中进行迭代 71
使用贪婪加载高效获取数据 74
更新一个Active Record对象 77
使用Active Record校验来增强数据完整性 81
用find_by_sql执行自定义查询 84
用事务来防止竞争条件 88
用act_as_list给模型增加排序能力 92
当模型对象被创建时执行一个任务 97
用acts_as_nested_set建模一个线索化的论坛 100
用acts_as_tree创建一个嵌套主题的目录 104
用乐观锁定避免竞争条件 107
处理遗留系统中的表 109
使记录时间戳自动化 111
用多态关联来整理通用关系 112
为灵活数据建模混合使用连接模型和多态机制 115
第4章:Action Controller 121
通过控制器访问表单数据 122
改变应用程序的默认页面 125
使用命名路由净化你的代码 126
配置自定义路由行为 127
利用Flash显示提示消息 129
延长Flash消息的生命周期 131
在Action后重定向 133
动态生成URL 134
使用过滤器监视请求 133
使用过滤器的日志 137
渲染动作 140
限制对控制器方法的访问 141
发送文件或数据流到浏览器 142
存储会话信息到数据库中 144
用会话跟踪信息 146
使用过滤器进行认证 149
第5章:Action View 155
用视图辅助方法简化模板 156
用分页方法显示大数据集 158
创建黏性选择列表 161
用多选列表编辑多对多关联 163
用布局条理化通用显示代码 166
定义默认应用程序布局 169
用Builder模板生成XML 170
从Active Record数据中生成RSS Feeds 172
创建局部模板重用页面元素 174
处理动态创建的输入字段 177
自定义标准辅助方法的行为 181
使用表单辅助方法创建Web表单 183
格式化日期、时间和货币 187
使用Gravatars将用户简档个性化 190
使用Liquid模板来避免视图中的有害代码 191
国际化你的Rails应用程序 195
第6章:RESTful开发 201
创建嵌套资源 204
通过MIME类型提供替代数据格式 208
用连接模型建立RESTful关系模型 210
利用RESTful资源超越简单的CRUD 213
处理复杂的嵌套REST资源 217
用REST的方式开发Rails应用程序 220
第7章:Rails应用程序测试 225
测试用例中常用的对象创建 226
为多对多关联创建夹具 227
用CSV夹具导入测试数据 229
使用ERb在夹具中包含动态数据 232
初始化测试数据库 233
从Rails控制台交互式测试控制器 235
解释Test::Unit的输出 237
用YAML夹具装入测试数据 238
使用rake stats监视测试覆盖 240
用Rake运行测试 241
用事务性夹具加速测试 242
用集成测试进行跨控制器的测试 244
使用功能性测试来测试控制器 247
检验Cookie的内容 250
对自定义和命名路由进行测试 253
使用与响应相关的断言来测试HTTP请求 255
使用单元测试来测试模型 256
对模型校验进行单元测试 259
使用与标签相关的断言来验证DOM结构 261
编写自定义断言 264
测试文件的上传 265
使用Mocks来修改用于测试的类的默认行为 269
通过持续地运行测试来改进反馈机制 271
使用Rcov来分析代码的覆盖度 272
第8章:JavaScript和Ajax 277
在页面中插入DOM元素 278
通过拖放创建一个自定义报表 281
动态地向选择列表添加项目 286
监控文本区域的内容长度 288
使用RJS模板更新页面元素 292
在模板中插入JavaScript 295
让用户对列表重新排序 298
自动完成文本字段 302
动态地查找并高亮显示文本 304
增强用户界面的视觉效果 308
实现实时搜索 311
就地编辑字段内容 315
创建一个Ajax进度指示器 317
第9章:Action Maller 321
配置Rails发送邮件 322
用Mailer生成器生成自定义Mailer类 323
使用模板格式化电子邮件消息 325
给电子邮件消息增加附件 326
从Rails应用程序中发电子邮件 327
用Action Mailer接收邮件 328
第10章:调试Rails应用程序 333
从控制台探索Rails 334
在源文件中使用Ruby-cw修复Bug 336
使用breakpointer实时调试应用程序 338
使用内部的Rails Logger类来请求连接 342
将调试信息写入一个文件 344
邮件通知应用程序的异常 346
在视图中输出环境信息 350
显示发生异常的对象内容 352
实时过滤开发日志 353
用Firefox扩展调试HTTP通信 355
使用JavaScript Shell实时地调试JavaScript 356
使用ruby-debug交互式调试代码 360
第11章:安全 365
通过复杂的密码来使你的系统坚固 365
在查询中避免SQL注入攻击 368
保护你的站点避免跨站点脚本攻击 369
限制对公共方法或动作的访问 371
关闭不必要的端口来保护你的服务器 373
第12章:性能 377
利用Httperf衡量Web服务器的性能 378
应用代码的基准测试部分 381
通过缓存静态页面提高性能 382
使缓存的页面失效 385
用局部缓存混合静态和动态页面 388
通过动作缓存来过滤缓存页面 391
利用memcached加速数据访问 392
通过缓存处理过的内容提高性能 395
第13章:主机托管和部署 399
用Apache1.3和mod_fastcgi作为Rails的宿主环境 400
用mongrel_cluster管理多个Mongrel进程 402
用Apache 2.2、mod_proxy_balancer和Mongrel部署Rails应用程序 405
在Mongrel、Lighttpd和Apache的前端用Pound部署Rails 409
用cronolog自定义Pound的日志 413
配置支持SSL的Pound 416
用Pen实现简单的负载均衡 418
用Capistrano部署Rails页目 419
用Capistrano把你的应用程序部署到多个环境中 423
在无法访问Subversion时用Capistrano进行部署 425
用Capistrano和mongrel_cluster进行部署 427
在维护期间禁用站点 429
自定义Capistrano任务 432
清理残留的会话记录 436
第14章:用插件扩展Rails 439
查找第三方插件 440
安装插件 441
用acts_as_versioned来进行版本记录 443
用acts_as_authenticated构建认证系统 446
用acts_as_taggable简化分众分类 450
使用acts_as来扩展ActiveRecord 455
将视图辅助方法作为插件添加到Rails中 460
使用file_column上传文件 462
使用acts_as_attachment上传文件 465
使用acts_as_paranoid来屏蔽记录而不删除记录 469
使用Login Engine添加更详尽的认证方式 471
第15章:图形 475
安装RMagick来处理图片 475
上传图片到数据库 480
直接从数据库中获得图片 484
使用RMagick创建调整大小的缩略图 485
生成PDF文档 488
使用Gruff可视化地显示数据 490
使用Sparklines创建小信息提示图形 493
附录A:迁移到Rails 1.2 497
索引 501