Rails 5 敏捷開發
內容描述
《Rails敏捷開發》榮獲Jolt技術圖書大獎。本書以講解“購書網站”案例為主線,逐步介紹Rails的內置功能。
全書分為3部分,
第一部分介紹Rails的安裝、應用程序驗證、Rails框架的體系結構,以及Ruby語言知識;
第二部分用迭代方式構建應用程序,然後依據敏捷開發模式開展測試,後用Capistrano完成部署;
第三部分補充日常實用的開發知識。
本書既有直觀的示例,又有深入的分析,同時涵蓋了Web開發各方面的知識,堪稱一部內容全面而又深入淺出的佳作。
第5版增加了關於Rails 5和Ruby 2.2新特性和佳實踐的內容。
目錄大綱
第一部分新手入門1
第1章安裝Rails 3
1.1在Cloud9上安裝Rails 4
1.2在虛擬機上安裝Rails 6
1.3在Windows上安裝Rails 8
1.4在Mac OSX上安裝Rails 11
1.5在Linux上安裝Rails 12
1.6 Rails版本的選擇14
1.7設置開發環境14
1.8 Rails和數據庫18
1.9本章所學19
第2章牛刀小試21
2.1新建Rails應用21
2.2 Hello, Rails! 24
2.3把頁面連接起來30
2.4如果發生錯誤33
2.5本章所學36
2.6練習題36
2.7清理工作37
第3章Rails應用的架構39
3.1模型、視圖和控制器39
3.2 Rails對模型的支持42
3.3 Action Pack:視圖和控制器44
第4章Ruby簡介47
4.1 Ruby是面向對象的語言47
4.2數據類型49
4.3控制邏輯53
4.4組織結構56
4.5對象的序列化59
4.6綜合應用59
4.7 Ruby慣用法60
第二部分構建一個應用63
第5章Depot應用65
5.1增量開發65
5.2 Depot應用的功能66
5.3開始編寫代碼70
第6章任務A:創建應用71
6.1迭代A1 :實現產品維護功能71
6.2迭代A2:美化產品列表78
6.3本章所學84
6.4練習題85
第7章任務B:驗證和單元測試87
7.1迭代B1:驗證!87
7.2迭代B2:模型的單元測試92
7.3本章所學99
7.4練習題100
第8章任務C:實現產品目錄頁面101
8.1迭代C1:創建產品目錄列表101
8.2迭代C2:添加頁面佈局105
8.3迭代C3 :通過輔助方法格式化價格110
8.4迭代C4:控制器的功能測試111
8.5迭代C5:緩存局部結果113
8.6本章所學115
8.7練習題116
第9章任務D:創建購物車117
9.1迭代D1:查找購物車117
9.2迭代D2:把產品放入購物車118
9.3迭代D3:添加按鈕121
9.4本章所學126
9.5練習題127
第10章任務E:更智能的購物車129
10.1迭代E1:創建更智能的購物車129
10.2迭代E2:錯誤處理135
10.3迭代E3:完成購物車的開發139
10.4本章所學143
10.5練習題143
第11章任務F:添加少量Ajax代碼145
11.1迭代F1:移動購物車146
11.2迭代F2:創建基於Ajax的購物車153
11.3迭代F3:突出顯示更改157
11.4迭代F4:隱藏空購物車160
11.5迭代F5:通過Action Cable廣播更改164
11.6本章所學167
11.7練習題168
第12章任務G:去結算!169
12.1迭代G1:獲取訂單169
12.2迭代G2:Atom訂閱源183
12.3本章所學186
12.4練習題186
第13章任務H:發送電子郵件189
13.1迭代H1:發送確認郵件189
13.2迭代H2:應用的集成測試196
13.3本章所學201
13.4練習題201
第14章任務I:用戶登錄203
14.1迭代I1:添加用戶203
14.2迭代I2:用戶身份驗證207
14.3迭代I3:訪問限制213
14.4迭代I4:在側邊欄中添加幾個管理鏈接215
14.5本章所學219
14.6練習題219
第15章任務J:國際化221
15.1迭代J1:區域的選擇222
15.2迭代J2:在線商店店面的翻譯226
15.3迭代J3:結算頁面的翻譯233
15.4迭代J4:添加區域設置選擇器239
15.5本章所學241
15.6練習題241
第16章任務K:部署上線243
16.1迭代K1:使用Phusion Passenger和MySQL部署245
16.2迭代K2:通過Capistrano遠程部署252
16.3迭代K3:檢查部署後的應用258
16.4本章所學260
16.5練習題261
第17章Depot應用開發回顧263
17.1 Rails中的概念263
17.2記錄已完成的工作266
第三部分深入探索Rails 267
第18章Rails內部概覽269
18.1目錄結構269
18.2命名約定277
18.3本章所學280
第19章Active Record 281
19.1定義數據281
19.2識別和關聯記錄286
19.3創建、讀取、更新和刪除(CRUD) 290
19.4參與監控過程304
19.5事務310
19.6本章所學314
第20章Action Dispatch和Action Controller 315
20.1把請求分派給控制器316
20.2處理請求325
20.3跨請求的對象和操作337
20.4本章所學345
第21章Action View 347
21.1使用模板347
21.2生成表單349
21.3處理表單352
21.4在Rails應用中上傳文件354
21.5使用輔助方法357
21.6利用佈局和局部模板減少維護投入364
21.7本章所學372
第22章遷移373
22.1創建和運行遷移373
22.2遷移詳解376
22.3管理表380
22.4高級遷移技術385
22.5遷移的問題388
22.6在遷移外部處理模式389
22.7本章所學390
第23章非瀏覽器應用391
23.1使用Active Record開發獨立應用391
23.2使用Active Support編寫庫函數392
23.3本章所學397
第24章Rails的依賴399
24.1使用Builder生成XML 399
24.2使用ERB生成HTML 401
24.3使用Bundler管理依賴403
24.4使用Rack與Web服務器交互406
24.5使用Rake自動執行任務409
24.6 Rails依賴概覽411
24.7本章所學414
第25章Rails插件415
25.1使用Active Merchant處理信用卡415
25.2使用Haml美化標記417
25.3分頁420
25.4本章所學422
25.5在RailsPlugins.org中尋找更多插件422
第26章長路漫漫425
附錄A參考書目427
索引429
作者介紹
Sam Ruby是W3C HTML工作組的聯合主席,曾為Apache軟件基金會(Apache Software Foundation)的多個開源項目做出積極貢獻。他也是IBM新興技術組(Emerging Technologies Group of IBM)的高級技術專家。
Dave Thomas是“敏捷宣言”的起草人之一,也是《Programming Ruby》的作者。作為活躍的Rails開發者,他對Rails有著深刻的理解。
David Heinemeier Hansson是Rails框架的創造者。