第1章 从零开始,完成一次部署 1
1.1简介 3
1.1.1预备知识 3
1.1.2排版约定 5
1.2搭建环境 6
1.2.1开发环境 6
1.2.2安装Rails 9
1.3第一个应用 9
1.3.1 Bundler 12
1.3.2 rails server 16
1.3.3模型-视图-控制器 19
1.3.4 Hello, world! 20
1.4使用Git做版本控制 23
1.4.1安装和设置 23
1.4.2使用Git的好处 24
1.4.3 Bitbucket 25
1.4.4分支、编辑、提交、合并 28
1.5部署 32
1.5.1搭建Heroku部署环境 32
1.5.2 Heroku部署第一步 34
1.5.3 Heroku部署第二步 34
1.5.4 Heroku命令 35
1.6小结 35
第2章 玩具应用 37
2.1规划应用 37
2.1.1 User模型 40
2.1.2 Micropost模型 40
2.2 Users资源 41
2.2.1浏览用户相关的页面 42
2.2.2 MVC实战 47
2.2.3 Users资源的不足 52
2.3 Microposts资源 52
2.3.1概览Microposts资源 52
2.3.2限制微博的长度 56
2.3.3一个用户拥有多篇微博 57
2.3.4继承体系 60
2.3.5部署这个玩具应用 62
2.4小结 63
第3章 基本静态的页面 65
3.1创建演示应用 65
3.2静态页面 69
3.2.1生成静态页面 69
3.2.2修改静态页面中的内容 75
3.3开始测试 77
3.3.1第一个测试 78
3.3.2遇红 79
3.3.3变绿 80
3.3.4重构 82
3.4有点动态内容的页面 82
3.4.1测试标题(遇红) 83
3.4.2添加页面标题(变绿) 84
3.4.3布局和嵌入式Ruby(重构) 87
3.4.4设置根路由 92
3.5小结 94
3.6高级测试技术 95
3.6.1 MiniTest报告程序 95
3.6.2使用Guard自动测试 96
第4章 Rails背后的Ruby 102
4.1导言 102
4.1.1内置的辅助方法 102
4.1.2自定义辅助方法 103
4.2字符串和方法 105
4.2.1注释 106
4.2.2字符串 107
4.2.3对象和消息传送 109
4.2.4定义方法 111
4.2.5回顾标题的辅助方法 112
4.3其他数据结构 113
4.3.1数组和值域 113
4.3.2块 116
4.3.3散列和符号 118
4.3.4重温引入CSS的代码 122
4.4 Ruby类 123
4.4.1构造方法 123
4.4.2类的继承 124
4.4.3修改内置的类 126
4.4.4控制器类 128
4.4.5 User类 130
4.5小结 131
第5章 完善布局 133
5.1添加一些结构 133
5.1.1网站导航 134
5.1.2 Bootstrap和自定义的CSS 140
5.1.3局部视图 145
5.2 Sass和Asset Pipeline 150
5.2.1 Asset Pipeline 150
5.2.2句法强大的样式表 151
5.3布局中的链接 157
5.3.1“联系”页面 158
5.3.2 Rails路由 159
5.3.3使用具名路由 161
5.3.4布局中链接的测试 163
5.4用户注册:第一步 166
5.4.1 Users控制器 166
5.4.2“注册”页面的URL 168
5.5小结 170
第6章 用户建模 172
6.1 User模型 172
6.1.1数据库迁移 173
6.1.2模型文件 177
6.1.3创建用户对象 178
6.1.4查找用户对象 180
6.1.5更新用户对象 181
6.2验证用户数据 182
6.2.1有效性测试 183
6.2.2存在性验证 184
6.2.3长度验证 187
6.2.4格式验证 188
6.2.5唯一性验证 193
6.3添加安全密码 198
6.3.1计算密码哈希值 199
6.3.2用户有安全的密码 200
6.3.3密码的最短长度 202
6.3.4创建并验证用户的身份 203
6.4小结 205
第7章 注册 207
7.1显示用户的信息 207
7.1.1调试信息和Rails环境 209
7.1.2 Users资源 212
7.1.3调试器 216
7.1.4 Gravatar头像和侧边栏 217
7.2注册表单 222
7.2.1使用form_for 223
7.2.2注册表单的HTML 225
7.3注册失败 228
7.3.1可正常使用的表单 229
7.3.2健壮参数 231
7.3.3注册失败错误消息 233
7.3.4注册失败的测试 237
7.4注册成功 240
7.4.1完整的注册表单 241
7.4.2闪现消息 242
7.4.3首次注册 244
7.4.4注册成功的测试 246
7.5专业部署方案 248
7.5.1在生产环境中使用SSL 249
7.5.2生产环境中的Web服务器 249
7.5.3部署到生产环境 250
7.6小结 252
第8章 基本登录功能 253
8.1会话 253
8.1.1 Sessions控制器 254
8.1.2登录表单 256
8.1.3查找并验证用户的身份 259
8.1.4渲染闪现消息 261
8.1.5测试闪现消息 263
8.2登录 265
8.2.1 log_in方法 265
8.2.2当前用户 267
8.2.3修改布局中的链接 270
8.2.4测试布局中的变化 274
8.2.5注册后直接登录 277
8.3退出 279
8.4小结 281
第9章 高级登录功能 283
9.1记住我 283
9.1.1记忆令牌和记忆摘要 283
9.1.2登录时记住登录状态 288
9.1.3忘记用户 295
9.1.4两个小问题 296
9.2“记住我”复选框 300
9.3测试“记住我”功能 305
9.3.1测试“记住我”复选框 305
9.3.2测试“记住”分支 309
9.4小结 312
第10章 更新、显示和删除用户 314
10.1更新用户 314
10.1.1编辑表单 314
10.1.2编辑失败 320
10.1.3编辑失败的测试 322
10.1.4编辑成功(使用TDD) 323
10.2权限系统 326
10.2.1必须先登录 327
10.2.2用户只能编辑自己的资料 331
10.2.3友好的转向 335
10.3列出所有用户 338
10.3.1用户列表 339
10.3.2示例用户 343
10.3.3分页 345
10.3.4用户列表页面的测试 348
10.3.5使用局部视图重构 350
10.4删除用户 351
10.4.1管理员 352
10.4.2 destroy动作 355
10.4.3删除用户的测试 357
10.5小结 360
第11章 激活账户 362
11.1 Account Activations资源 363
11.1.1 AccountActivations控制器 363
11.1.2 AccountActivations数据模型 364
11.2账户激活邮件 368
11.2.1邮件程序模板 368
11.2.2预览邮件 372
11.2.3测试电子邮件 375
11.2.4更新Users控制器的create动作 377
11.3激活账户 380
11.3.1通用的authenticated?方法 380
11.3.2编写激活账户的edit动作 383
11.3.3测试和重构 386
11.4在生产环境中发送邮件 391
11.5小结 394
第12章 重设密码 395
12.1 Password Resets资源 397
12.1.1 PasswordResets控制器 397
12.1.2请求重设密码 399
12.1.3 PasswordResets控制器的create动作 402
12.2密码重设邮件 404
12.2.1密码重设邮件程序和模板 404
12.2.2测试电子邮件 409
12.3重设密码 410
12.3.1 PasswordResets控制器的edit动作 410
12.3.2更新密码 412
12.3.3测试密码重设功能 417
12.4在生产环境中发送邮件(再谈) 421
12.5小结 423
12.6证明超时比较算式 423
第13章 用户的微博 425
13.1 Micropost模型 425
13.1.1基本模型 425
13.1.2 Micropost模型的数据验证 427
13.1.3 User模型和Micropost模型之间的关联 430
13.1.4改进Micropost模型 433
13.2显示微博 436
13.2.1渲染微博 437
13.2.2示例微博 440
13.2.3测试资料页面中的微博 445
13.3微博相关的操作 447
13.3.1访问限制 448
13.3.2创建微博 450
13.3.3动态流原型 457
13.3.4删除微博 462
13.3.5微博的测试 465
13.4微博中的图像 468
13.4.1基本的图像上传功能 469
13.4.2验证图像 474
13.4.3调整图像尺寸 476
13.4.4在生产环境中上传图像 478
13.5小结 481
第14章 关注用户 484
14.1 Relationship模型 487
14.1.1数据模型带来的问题(以及解决方法) 487
14.1.2 User模型和Relationship模型之间的关联 490
14.1.3关系验证 492
14.1.4我关注的用户 493
14.1.5关注我的人 496
14.2关注用户的Web界面 498
14.2.1示例关注数据 498
14.2.2数量统计和关注表单 499
14.2.3我关注的用户列表页面和关注我的用户列表页面 507
14.2.4关注按钮的常规实现方式 514
14.2.5关注按钮的Ajax实现方式 517
14.2.6关注功能的测试 520
14.3动态流 522
14.3.1目的和策略 522
14.3.2初步实现动态流 524
14.3.3子查询 526
14.4小结 530
14.4.1后续学习资源 530
14.4.2本章所学 531
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《线性代数简明教程》刘国庆,赵剑,石玮编著 2019