本書全面講解了使用Ruby on Rails創建產品級應用程式的過程。書中通過演示構建網上書店的全過程,先後介紹如何使用如TDD的敏捷實踐,啟動一個項目並建立良好穩定的基礎,如何深入Ruby on Rails,實現諸如將應用程式翻譯成各種語言對產品進行調試等的普遍需求。其中用到的主要技術包括Ajax、聚合、設定標籤和國際化等,還介紹了如何使用ActiveRecord和Ferret搜尋引擎及一些其他技術。
基本介紹
- 書名:Ruby on Rails電子商務實戰
- 作者: Christian Hellsten, Jarkko Laine
- 譯者:曹維遠
- 出版時間: 2008-02-27
圖書信息,摘要,目錄,
圖書信息
書名: Ruby on Rails電子商務實戰 書號: 978-7-115-17449-9
原書名: Beginning Ruby on Rails E-Commerce
原出版社: Apress
作者: Christian Hellsten, Jarkko Laine
譯者: 曹維遠
出版日期: 2008-02-27
語種: 簡體中文
開本: 16開
頁數: 344
摘要
本書適合開發實際Rails套用的Web開發人員閱讀。
目錄
第1章 項目創建和原型驗證 1
1.1 Emporium項目介紹 1
1.2 安裝軟體 2
1.2.1 安裝Ruby 3
1.2.2 安裝RubyGems 4
1.2.3 安裝Ruby on Rails 5
1.2.4 安裝MySQL 6
1.2.5 安裝MySQL驅動程式 8
1.3 Scrum介紹 9
1.4 創建Emporium應用程式 10
1.4.1 創建應用程式框架 10
1.4.2 創建Emporium資料庫 12
1.4.3 第一次啟動Emporium 15
1.5 Ruby on Rails工作原理 16
1.6 實現用戶情境:About Emporium 17
1.6.1 運行生成的腳本 17
1.6.2 修改生成的視圖 18
1.6.3 創建頁面布局 19
1.6.4 修改生成的控制器 23
1.7 小結 24
第2章 作者管理 25
2.1 TDD 25
2.2 在Rails中測試 26
2.2.1 單元測試 26
2.2.2 功能測試 26
2.2.3 集成測試 27
2.3 創建ActiveRecord模型 27
2.3.1 使用ActiveRecord遷移 27
2.3.2 運行單元測試 30
2.4 創建控制器 31
2.5 實現用戶情境 32
2.5.1 添加作者 33
2.5.2 羅列作者 40
2.5.3 查看作者信息 42
2.5.4 編輯作者 44
2.5.5 刪除作者 45
2.5.6 調整快閃記憶體提示 46
2.6 小結 48
第3章 圖書庫存管理 49
3.1 收集需求 49
3.2 使用腳手架 50
3.3 實現出版商管理界面 50
3.3.1 為Publishers表更新資料庫架構 51
3.3.2 用腳手架腳本生成出版商代碼 52
3.3.3 完成用戶情境:添加出版商 53
3.3.4 完成用戶情境:查看出版商 55
3.3.5 完成用戶情境:編輯出版商 56
3.4 實現圖書管理界面 57
3.4.1 使用Books表更新資料庫架構 57
3.4.2 創建圖書模型 60
3.4.3 ActiveRecord映射 61
3.4.4 修改生成的模型 64
3.4.5 克隆資料庫 66
3.4.6 單元測試所有驗證 67
3.4.7 單元測試ActiveRecord映射 68
3.4.8 用腳手架腳本生成圖書管理代碼 73
3.4.9 集成測試 74
3.4.10 完成用戶情境:添加圖書 75
3.4.11 完成用戶情境:上傳圖書封面 83
3.4.12 完成用戶情境:羅列圖書 85
3.4.13 完成用戶情境:查看圖書 87
3.4.14 完成用戶情境:編輯圖書 90
3.4.15 測試用戶情境:刪除圖書 91
3.5 小結 92
第4章 瀏覽圖書目錄 93
4.1 收集圖書目錄需求 93
4.2 實現圖書目錄界面 94
4.2.1 實現用戶情境:瀏覽圖書目錄 95
4.2.2 實現用戶情境:查看圖書詳情 98
4.2.3 實現用戶情境:搜尋圖書 103
4.2.4 實現用戶情境:獲取最新書目 110
4.2.5 創建RSS提要 112
4.3 小結 114
第5章 實現購物車 116
5.1 收集購物車需求 116
5.2 建立購物車 116
5.2.1 創建控制器 117
5.2.2 添加功能測試 117
5.2.3 創建模型 117
5.2.4 修改控制器 119
5.2.5 創建視圖 122
5.3 實現用戶情境 126
5.3.1 實現用戶情境:向購物車添加商品 126
5.3.2 實現用戶情景:從購物車中移除商品 133
5.3.3 實現用戶情境:清空購物車 137
5.4 小結 139
第6章 實現論壇 140
6.1 收集論壇需求 140
6.2 使用線索化論壇外掛程式 141
6.3 建立論壇 142
6.3.1 更新資料庫架構 142
6.3.2 修改模型 144
6.3.3 單元測試模型 145
6.3.4 生成控制器和視圖 146
6.4 實現用戶情境 147
6.4.1 實現用戶情境:發帖 148
6.4.2 實現用戶情境:瀏覽論壇 152
6.4.3 實現用戶情境:看帖 156
6.4.4 實現用戶情境:回帖 159
6.5 小結 161
第7章 標籤支持 162
7.1 收集貼標籤的需求 162
7.2 使用標籤RubyGem 163
7.3 建立標籤機制 164
7.3.1 更新資料庫架構 165
7.3.2 準備模型 167
7.3.3 模型單元測試 167
7.3.4 用控制台測試模型 168
7.4 實現用戶情境 169
7.4.1 實現用戶情境:貼標籤 170
7.4.2 實現用戶情境:編輯標籤 173
7.4.3 實現用戶情境:羅列標籤和顯示標籤 176
7.4.4 實現用戶情境:推薦圖書 179
7.5 小結 181
第8章 安全 182
8.1 收集身份認證需求 182
8.2 使用身份認證外掛程式 182
8.3 實現用戶情境 185
8.3.1 實現用戶情境:登錄 185
8.3.2 實現用戶情境:登錄失敗 190
8.3.3 實現用戶情境:重設密碼 194
8.4 保護應用程式 202
8.4.1 跨站腳本攻擊 202
8.4.2 URL和表單處理 203
8.4.3 SQL注入 204
8.4.4 跨站請求偽造 204
8.5 小結 205
第9章 結賬與訂單處理 206
9.1 收集結賬與訂單處理需求 206
9.2 實現用戶情境:結賬 206
9.2.1 創建模型 207
9.2.2 為模型添加驗證 211
9.2.3 創建控制器和集成測試 213
9.2.4 創建視圖 215
9.2.5 保存訂單信息 220
9.3 集成支付網關 223
9.3.1 安裝Active Merchant外掛程式 223
9.3.2 PayPal集成 224
9.3.3 Authorize集成 230
9.3.4 使用Payment gem 233
9.4 實現管理員用戶情境 234
9.4.1 實現用戶情境:查看訂單列表 235
9.4.2 實現用戶情境:查看訂單 237
9.4.3 實現用戶情境:終止訂單 239
9.5 計算配送費用和稅費 241
9.5.1 使用Shipping Gem 241
9.5.2 計算稅費 242
9.6 小結 242
第10章 多語言支持 243
10.1 收集本地化需求 243
10.2 使用Globalize外掛程式 244
10.2.1 用Globalize本地化 245
10.2.2 建立Globalize 248
10.3 實現用戶情境 248
10.3.1 實現用戶情境:改變地區設定 248
10.3.2 實現翻譯用戶情境 250
10.4 翻譯視圖和Book模型 256
10.4.1 翻譯視圖 256
10.4.2 翻譯模型 259
10.5 本地化日期、數字和貨幣 260
10.5.1 本地化日期 260
10.5.2 本地化數字和貨幣 262
10.6 添加Unicode(UTF-8)支持 263
10.6.1 在HTML中設定字元編碼 263
10.6.2 為HTTP回響設定字元編碼 264
10.6.3 修改資料庫以便使用UTF-8 265
10.7 小結 266
第11章 驗收測試 267
11.1 使用Selenium 267
11.2 寫Selenium測試 269
11.2.1 Selenium命令 269
11.2.2 Selenium測試格式 272
11.2.3 第一個驗收測試 273
11.3 錄製Selenium測試 274
11.3.1 使用Selenium IDE 274
11.3.2 錄製查看論壇驗收測試 276
11.3.3 錄製發帖驗收測試 281
11.3.4 錄製看帖驗收測試 282
11.3.5 錄製回帖驗收測試 283
11.4 小結 285
第12章 應用程式部署 286
12.1 建立產品環境 286
12.1.1 連線產品伺服器:SSH 287
12.1.2 安裝Web伺服器:LightTPD 287
12.1.3 安裝應用程式伺服器:Ruby on Rails和FastCGI 289
12.1.4 安裝資料庫伺服器(MySQL) 291
12.1.5 配置LightTPD 291
12.1.6 創建產品資料庫 297
12.2 手工部署應用程式 298
12.2.1 複製應用程式 298
12.2.2 創建用戶和組 299
12.2.3 啟動LightTPD 300
12.2.4 啟動FastCGI進程 300
12.3 自動化部署 302
12.3.1 安裝Capistrano 302
12.3.2 創建Capistrano部署配方 302
12.3.3 運行Setup任務 305
12.3.4 部署到產品 306
12.3.5 啟動LightTPD 309
12.4 小結 310
第13章 性能最佳化 311
13.1 性能和延展 311
13.2 衡量性能 312
13.2.1 查看日誌檔案 312
13.2.2 使用Rails分析器 313
13.3 快取 317
13.3.1 頁面快取 318
13.3.2 動作快取 319
13.3.3 片段快取 319
13.3.4 片段存儲 321
13.3.5 快取ActiveRecord對象 323
13.4 Rails中常見的性能問題 325
13.4.1 呈現速度 325
13.4.2 資料庫訪問 327
13.5 小結 329