第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
      · · · · · ·     (
收起)