定 價(jià):¥129.00
作 者: | (美)邁克爾·哈特爾 著;安道 譯 |
出版社: | 人民郵電出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 編程語(yǔ)言與程序設(shè)計(jì) 計(jì)算機(jī)?網(wǎng)絡(luò) |
ISBN: | 9787115466402 | 出版時(shí)間: | 2017-09-01 | 包裝: | |
開本: | 頁(yè)數(shù): | 字?jǐn)?shù): |
第 1 章 從零開始,完成一次部署 1
1.1 簡(jiǎn)介 3
1.1.1 預(yù)備知識(shí) 3
1.1.2 排版約定 5
1.2 搭建環(huán)境 6
1.2.1 開發(fā)環(huán)境 6
1.2.2 安裝Rails 9
1.3 第一個(gè)應(yīng)用 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 安裝和設(shè)置 23
1.4.2 使用Git的好處 24
1.4.3 Bitbucket 25
1.4.4 分支、編輯、提交、合并 28
1.5 部署 32
1.5.1 搭建Heroku部署環(huán)境 32
1.5.2 Heroku部署第一步 34
1.5.3 Heroku部署第二步 34
1.5.4 Heroku命令 35
1.6 小結(jié) 35
第 2 章 玩具應(yīng)用 37
2.1 規(guī)劃應(yīng)用 37
2.1.1 User模型 40
2.1.2 Micropost模型 40
2.2 Users資源 41
2.2.1 瀏覽用戶相關(guān)的頁(yè)面 42
2.2.2 MVC實(shí)戰(zhàn) 47
2.2.3 Users資源的不足 52
2.3 Microposts資源 52
2.3.1 概覽Microposts資源 52
2.3.2 限制微博的長(zhǎng)度 56
2.3.3 一個(gè)用戶擁有多篇微博 57
2.3.4 繼承體系 60
2.3.5 部署這個(gè)玩具應(yīng)用 62
2.4 小結(jié) 63
第 3 章 基本靜態(tài)的頁(yè)面 65
3.1 創(chuàng)建演示應(yīng)用 65
3.2 靜態(tài)頁(yè)面 69
3.2.1 生成靜態(tài)頁(yè)面 69
3.2.2 修改靜態(tài)頁(yè)面中的內(nèi)容 75
3.3 開始測(cè)試 77
3.3.1 第一個(gè)測(cè)試 78
3.3.2 遇紅 79
3.3.3 變綠 80
3.3.4 重構(gòu) 82
3.4 有點(diǎn)動(dòng)態(tài)內(nèi)容的頁(yè)面 82
3.4.1 測(cè)試標(biāo)題(遇紅) 83
3.4.2 添加頁(yè)面標(biāo)題(變綠) 84
3.4.3 布局和嵌入式Ruby(重構(gòu)) 87
3.4.4 設(shè)置根路由 92
3.5 小結(jié) 94
3.6 高級(jí)測(cè)試技術(shù) 95
3.6.1 MiniTest報(bào)告程序 95
3.6.2 使用Guard自動(dòng)測(cè)試 96
第 4 章 Rails背后的Ruby 102
4.1 導(dǎo)言 102
4.1.1 內(nèi)置的輔助方法 102
4.1.2 自定義輔助方法 103
4.2 字符串和方法 105
4.2.1 注釋 106
4.2.2 字符串 107
4.2.3 對(duì)象和消息傳送 109
4.2.4 定義方法 111
4.2.5 回顧標(biāo)題的輔助方法 112
4.3 其他數(shù)據(jù)結(jié)構(gòu) 113
4.3.1 數(shù)組和值域 113
4.3.2 塊 116
4.3.3 散列和符號(hào) 118
4.3.4 重溫引入CSS的代碼 122
4.4 Ruby類 123
4.4.1 構(gòu)造方法 123
4.4.2 類的繼承 124
4.4.3 修改內(nèi)置的類 126
4.4.4 控制器類 128
4.4.5 User類 130
4.5 小結(jié) 131
第 5 章 完善布局 133
5.1 添加一些結(jié)構(gòu) 133
5.1.1 網(wǎng)站導(dǎo)航 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 句法強(qiáng)大的樣式表 151
5.3 布局中的鏈接 157
5.3.1 ”聯(lián)系”頁(yè)面 158
5.3.2 Rails路由 159
5.3.3 使用具名路由 161
5.3.4 布局中鏈接的測(cè)試 163
5.4 用戶注冊(cè):第一步 166
5.4.1 Users控制器 166
5.4.2 ”注冊(cè)”頁(yè)面的URL 168
5.5 小結(jié) 170
第 6 章 用戶建模 172
6.1 User模型 172
6.1.1 數(shù)據(jù)庫(kù)遷移 173
6.1.2 模型文件 177
6.1.3 創(chuàng)建用戶對(duì)象 178
6.1.4 查找用戶對(duì)象 180
6.1.5 更新用戶對(duì)象 181
6.2 驗(yàn)證用戶數(shù)據(jù) 182
6.2.1 有效性測(cè)試 183
6.2.2 存在性驗(yàn)證 184
6.2.3 長(zhǎng)度驗(yàn)證 187
6.2.4 格式驗(yàn)證 188
6.2.5 唯一性驗(yàn)證 193
6.3 添加安全密碼 198
6.3.1 計(jì)算密碼哈希值 199
6.3.2 用戶有安全的密碼 200
6.3.3 密碼的最短長(zhǎng)度 202
6.3.4 創(chuàng)建并驗(yàn)證用戶的身份 203
6.4 小結(jié) 205
第 7 章 注冊(cè) 207
7.1 顯示用戶的信息 207
7.1.1 調(diào)試信息和Rails環(huán)境 209
7.1.2 Users資源 212
7.1.3 調(diào)試器 216
7.1.4 Gravatar頭像和側(cè)邊欄 217
7.2 注冊(cè)表單 222
7.2.1 使用form_for 223
7.2.2 注冊(cè)表單的HTML 225
7.3 注冊(cè)失敗 228
7.3.1 可正常使用的表單 229
7.3.2 健壯參數(shù) 231
7.3.3 注冊(cè)失敗錯(cuò)誤消息 233
7.3.4 注冊(cè)失敗的測(cè)試 237
7.4 注冊(cè)成功 240
7.4.1 完整的注冊(cè)表單 241
7.4.2 閃現(xiàn)消息 242
7.4.3 首次注冊(cè) 244
7.4.4 注冊(cè)成功的測(cè)試 246
7.5 專業(yè)部署方案 248
7.5.1 在生產(chǎn)環(huán)境中使用SSL 249
7.5.2 生產(chǎn)環(huán)境中的Web服務(wù)器 249
7.5.3 部署到生產(chǎn)環(huán)境 250
7.6 小結(jié) 252
第 8 章 基本登錄功能 253
8.1 會(huì)話 253
8.1.1 Sessions控制器 254
8.1.2 登錄表單 256
8.1.3 查找并驗(yàn)證用戶的身份 259
8.1.4 渲染閃現(xiàn)消息 261
8.1.5 測(cè)試閃現(xiàn)消息 263
8.2 登錄 265
8.2.1 log_in方法 265
8.2.2 當(dāng)前用戶 267
8.2.3 修改布局中的鏈接 270
8.2.4 測(cè)試布局中的變化 274
8.2.5 注冊(cè)后直接登錄 277
8.3 退出 279
8.4 小結(jié) 281
第 9 章 高級(jí)登錄功能 283
9.1 記住我 283
9.1.1 記憶令牌和記憶摘要 283
9.1.2 登錄時(shí)記住登錄狀態(tài) 288
9.1.3 忘記用戶 295
9.1.4 兩個(gè)小問(wèn)題 296
9.2 “記住我”復(fù)選框 300
9.3 測(cè)試“記住我”功能 305
9.3.1 測(cè)試“記住我”復(fù)選框 305
9.3.2 測(cè)試“記住”分支 309
9.4 小結(jié) 312
第 10 章 更新、顯示和刪除用戶 314
10.1 更新用戶 314
10.1.1 編輯表單 314
10.1.2 編輯失敗 320
10.1.3 編輯失敗的測(cè)試 322
10.1.4 編輯成功(使用TDD) 323
10.2 權(quán)限系統(tǒng) 326
10.2.1 必須先登錄 327
10.2.2 用戶只能編輯自己的資料 331
10.2.3 友好的轉(zhuǎn)向 335
10.3 列出所有用戶 338
10.3.1 用戶列表 339
10.3.2 示例用戶 343
10.3.3 分頁(yè) 345
10.3.4 用戶列表頁(yè)面的測(cè)試 348
10.3.5 使用局部視圖重構(gòu) 350
10.4 刪除用戶 351
10.4.1 管理員 352
10.4.2 destroy動(dòng)作 355
10.4.3 刪除用戶的測(cè)試 357
10.5 小結(jié) 360
第 11 章 激活賬戶 362
11.1 Account Activations資源 363
11.1.1 AccountActivations控制器 363
11.1.2 AccountActivations數(shù)據(jù)模型 364
11.2 賬戶激活郵件 368
11.2.1 郵件程序模板 368
11.2.2 預(yù)覽郵件 372
11.2.3 測(cè)試電子郵件 375
11.2.4 更新Users控制器的create動(dòng)作 377
11.3 激活賬戶 380
11.3.1 通用的authenticated 方法 380
11.3.2 編寫激活賬戶的edit動(dòng)作 383
11.3.3 測(cè)試和重構(gòu) 386
11.4 在生產(chǎn)環(huán)境中發(fā)送郵件 391
11.5 小結(jié) 394
第 12 章 重設(shè)密碼 395
12.1 Password Resets資源 397
12.1.1 PasswordResets控制器 397
12.1.2 請(qǐng)求重設(shè)密碼 399
12.1.3 PasswordResets控制器的create動(dòng)作 402
12.2 密碼重設(shè)郵件 404
12.2.1 密碼重設(shè)郵件程序和模板 404
12.2.2 測(cè)試電子郵件 409
12.3 重設(shè)密碼 410
12.3.1 PasswordResets控制器的edit動(dòng)作 410
12.3.2 更新密碼 412
12.3.3 測(cè)試密碼重設(shè)功能 417
12.4 在生產(chǎn)環(huán)境中發(fā)送郵件(再談) 421
12.5 小結(jié) 423
12.6 證明超時(shí)比較算式 423
第 13 章 用戶的微博 425
13.1 Micropost模型 425
13.1.1 基本模型 425
13.1.2 Micropost模型的數(shù)據(jù)驗(yàn)證 427
13.1.3 User模型和Micropost模型之間的關(guān)聯(lián) 430
13.1.4 改進(jìn)Micropost模型 433
13.2 顯示微博 436
13.2.1 渲染微博 437
13.2.2 示例微博 440
13.2.3 測(cè)試資料頁(yè)面中的微博 445
13.3 微博相關(guān)的操作 447
13.3.1 訪問(wèn)限制 448
13.3.2 創(chuàng)建微博 450
13.3.3 動(dòng)態(tài)流原型 457
13.3.4 刪除微博 462
13.3.5 微博的測(cè)試 465
13.4 微博中的圖像 468
13.4.1 基本的圖像上傳功能 469
13.4.2 驗(yàn)證圖像 474
13.4.3 調(diào)整圖像尺寸 476
13.4.4 在生產(chǎn)環(huán)境中上傳圖像 478
13.5 小結(jié) 481
第 14 章 關(guān)注用戶 484
14.1 Relationship模型 487
14.1.1 數(shù)據(jù)模型帶來(lái)的問(wèn)題(以及解決方法) 487
14.1.2 User模型和Relationship模型之間的關(guān)聯(lián) 490
14.1.3 關(guān)系驗(yàn)證 492
14.1.4 我關(guān)注的用戶 493
14.1.5 關(guān)注我的人 496
14.2 關(guān)注用戶的Web界面 498
14.2.1 示例關(guān)注數(shù)據(jù) 498
14.2.2 數(shù)量統(tǒng)計(jì)和關(guān)注表單 499
14.2.3 我關(guān)注的用戶列表頁(yè)面和關(guān)注我的用戶列表頁(yè)面 507
14.2.4 關(guān)注按鈕的常規(guī)實(shí)現(xiàn)方式 514
14.2.5 關(guān)注按鈕的Ajax實(shí)現(xiàn)方式 517
14.2.6 關(guān)注功能的測(cè)試 520
14.3 動(dòng)態(tài)流 522
14.3.1 目的和策略 522
14.3.2 初步實(shí)現(xiàn)動(dòng)態(tài)流 524
14.3.3 子查詢 526
14.4 小結(jié) 530
14.4.1 后續(xù)學(xué)習(xí)資源 530
14.4.2 本章所學(xué) 531