Ruby on Rails电子商务实战


请输入要查询的词条内容:

Ruby on Rails电子商务实战


本书全面讲解了使用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.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