RubyonRails電子商務實戰

本書全面講解了使用Ruby on Rails創建產品級應用程式的過程。書中通過演示構建網上書店的全過程,先後介紹如何使用如TDD的敏捷實踐,啟動一個項目並建立良好穩定的基礎,如何深入Ruby on Rails,實現諸如將應用程式翻譯成各種語言對產品進行調試等的普遍需求。其中用到的主要技術包括Ajax、聚合、設定標籤和國際化等,還介紹了如何使用ActiveRecord和Ferret搜尋引擎及一些其他技術。

基本信息

圖書信息

書名: 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.1emporium項目介紹 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伺服器:lighttpd287

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 安裝Capistrano302

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

相關詞條

相關搜尋

熱門詞條

聯絡我們