关闭

应用Rails进行敏捷Web开发——目录

标签: railsweb开发敏捷activerecord测试数据库
3999人阅读 评论(10) 收藏 举报

   

1  简介... 1

1.1  Rails是敏捷的... 3

1.2  读你所需... 4

Rails的版本... 6

1.3  致谢... 6

来自Dave Thomas的感谢... 7

来自David Heinemeier Hansson的感谢... 7

2  Rails应用的架构... 11

2.1  模型,视图,以及控制器... 11

2.2  Active RecordRails的模型支持... 15

数据库为中心的程序设计... 15

对象/关系映射(ORM... 17

2.3  Action Pack:视图与控制器... 19

视图支持... 19

还有……控制器!... 19

3  安装Rails. 21

3.1  Windows上的安装... 21

3.2  Mac OS X上的安装... 22

3.3  Unix/Linux上的安装... 22

3.4  Rails和数据库... 23

3.5  保持更新... 26

3.6  RailsISP. 26

4  立竿见影... 27

4.1  新建一个应用程序... 27

4.2  Hello, Rails! 29

Rails和请求URL. 30

我们的第一个action. 31

让它动起来... 33

4.3  把页面链起来... 39

4.4  我们做了什么... 43

5  Depot应用程序... 47

5.1  增量式开发... 47

5.2  Depot做些什么... 48

用例... 48

页面流... 50

数据... 52

5.3  让我们编码吧... 53

6  任务A:货品维护... 53

6.1  迭代A1:跑起来再说... 53

创建Rails应用程序... 53

创建数据库... 54

创建货品表... 54

配置应用程序... 55

创建“货品维护”应用... 56

Rails脚手架... 58

6.2  迭代A2:填加缺失的字段... 61

6.3  迭代A3:检查一下!... 64

6.4  迭代A4:更美观的列表页... 67

我们做了什么... 70

7  任务B:分类显示... 71

7.1  迭代B1:创建分类列表... 71

7.2  迭代B2:添加页面装饰... 74

我们做了什么... 77

8  任务C:创建购物车... 79

8.1  Session. 79

8.2  更多的表,更多的模型... 81

8.3  迭代C1:创建购物车... 83

美化购物车... 89

8.4  迭代C2:处理错误... 91

Flash. 92

8.5  迭代C3:完成购物车... 95

我们做了什么... 99

9  任务D:结帐!... 101

9.1  迭代D1:获得定单... 102

Rails和表单... 103

9.2  迭代D2:在付账页面显示购物车内容... 110

我们做了什么... 114

10  任务E:发货... 115

10.1  迭代E1:基本的发货功能... 115

我们做了什么... 123

11  任务F:管理... 125

11.1  迭代F1:添加用户... 125

11.2  迭代F2:登录... 130

11.3  迭代F3:访问控制... 132

没有管理员了……... 133

更新边栏... 134

用户登出... 135

11.4  扫尾... 136

11.5  蛋糕上加点奶油... 137

我们做了什么... 138

12  任务T:测试... 139

12.1  加上测试... 139

12.2  模型的测试... 140

你的第一个测试,已经在等你了... 141

用于测试的数据库... 142

测试夹具... 143

创建和读取... 145

更新... 146

销毁... 147

保持测试的灵活性... 148

测试模型的业务规则... 149

动态夹具... 150

为了共享的夹具... 151

测试助手... 153

自定义断言... 154

12.3  控制器的测试... 155

用户登录... 155

功能测试的便利工具... 159

已经买了东西!... 163

12.4  使用Mock对象... 168

12.5  测试驱动开发... 169

12.6  Rake运行测试... 172

创建测试数据库... 172

运行测试... 173

安排持续构建... 174

生成统计信息... 174

12.7  性能测试... 175

事务性夹具... 177

性能监控与评测... 178

我们做了什么... 178

13  深入Rails. 181

13.1  Rails在哪儿?... 181

13.2  目录结构... 181

13.3  Rails配置... 185

运行时环境... 185

配置数据库连接... 186

环境... 187

配置参数... 188

13.4  命名约定... 188

混合大小写,下划线,以及复数形式... 188

按模块组织控制器... 191

13.5  Active Support 192

对“数量”的扩展... 192

对时间的扩展... 193

字符串的扩展... 194

13.6  Rails的日志... 194

13.7  调试信息... 194

13.8  精彩预告... 196

14  ActiveRecord基础... 1

14.1 表和类... 1

14.2 字段和属性... 2

属性的访问... 4

Boolean型属性... 4

保存结构化数据... 5

14.3 主键与ID.. 6

14.4 连接数据库... 7

14.5 CRUD.. 8

新建记录... 9

读取现有记录... 10

14.6 表间关联... 19

创建外键... 20

指定关联... 21

一对一关联... 22

一对多关联... 25

多对多关联... 29

自引用的连接... 31

预先读取子记录... 32

计数器... 33

14.7 事务... 34

内建事务... 38

多数据库事务... 38

15  再论ActiveRecord. 1

15.1 Acts As 1

Acts As List 1

Acts As Tree. 3

15.2 聚合... 4

复合对象是值对象... 8

15.3 单表继承... 8

15.4 校验... 11

校验辅助方法... 12

15.5 回调... 17

记录时间戳... 18

回调对象... 19

Observer 22

15.6 高级属性... 22

Façade字段... 24

15.7 杂录... 25

对象ID.. 25

使用裸连接... 25

缺失ID的时候……... 26

魔术字段... 26

16  ActionControllerRails. 289

16.1  环境与依赖... 289

16.2  基础... 290

16.3  请求的路由... 291

URL生成... 294

控制器命名... 298

具名路由... 301

16.4  Action方法... 302

控制器环境... 303

应答... 304

模板的渲染... 305

发送文件和其他数据... 308

重定向... 309

16.5  CookieSession. 312

RailsSession对象... 313

16.6  Flash——Action之间的通信... 322

16.7  过滤器与校验... 324

前置/后置过滤器... 324

后置过滤器和应答篡改... 326

环绕过滤器... 327

过滤器的继承... 327

输入校验... 327

16.8  缓存初接触... 329

缓存什么... 331

缓存页面的失效策略... 332

16.9  GET请求的问题... 335

解决GET问题... 336

17  ActionView.. 339

17.1  模板... 339

模板在哪里... 339

模板的运行环境... 340

模板里面有什么... 340

17.2  Builder模板... 341

17.3  RHTML模板... 342

转义替换... 343

17.4  辅助方法... 344

共享辅助方法... 346

17.5  格式化辅助方法... 347

17.6  链接到别的页面或资源... 349

17.7  分页... 352

17.8  表单辅助方法... 353

表单辅助方法... 354

字段辅助方法... 354

Rails应用的文件上传... 361

错误处理与模型对象... 364

处理与模型对象无关的字段... 365

17.9  布局与组件... 367

布局... 367

寻找布局模板... 368

局部页面模板... 370

组件... 373

17.10  再论缓存... 377

缓存片段的失效... 379

片段缓存的存储选择... 380

17.11  新增模板系统... 381

创建动态模板... 382

18  Web 2.0. 339

18.1  AJAX简介... 339

XMLHttpRequest 341

AJAX的“A”. 341

18.2  Rails的做法... 342

link_to_remote. 343

form_remote_tag() 345

Observers. 346

定时更新... 349

18.3  再论用户界面... 350

文档对象模型操作... 350

可视化效果... 351

18.4  高级技巧... 355

替换技术... 355

再谈回调... 355

不需要AJAX的可视化效果... 361

测试... 362

向后兼容... 363

Web V2.1. 364

19  ActionMailer. 411

19.1  发送邮件... 411

邮件配置... 411

发送邮件... 413

19.2  接收邮件... 418

19.3  电子邮件的测试... 420

电子邮件的单元测试... 420

电子邮件的功能测试... 421

20  Web ServiceRails. 423

20.1  AWS是什么(以及不是什么)... 423

20.2  API定义... 424

方法签名... 427

20.3  分发模式... 429

直接分发... 430

分层分发... 430

委派分发... 430

20.4  使用别的分发机制... 432

分层分发模式... 432

实现委派分发... 433

20.5  拦截方法调用... 433

20.6  Web Service的测试... 435

外部客户应用(SOAP... 436

外部客户应用(XML-RPC... 436

20.7  协议客户端... 438

21  保护Rails应用... 439

21.1  SQL注入... 439

防御SQL注入攻击... 440

将查询变成模型对象的方法... 441

21.2  跨站点脚本(CSS/XSS... 442

一次典型的攻击... 442

防御XSS攻击... 443

利用echo服务的XSS攻击... 444

21.3  防御session定置攻击... 445

21.4  Creating Records Directly from Form Parameters 446

21.5  不要相信ID参数... 447

21.6  不要暴露控制器方法... 448

21.7  文件上传... 450

21.8  不要缓存需要身份认证的页面... 450

21.9  知己知彼... 451

22  部署与伸缩... 453

22.1  选择发布平台... 453

选择web服务器... 454

选择伺服模式... 458

22.2  运行环境的三位一体... 461

切换到生产环境... 462

22.3  荒野中的迭代... 463

处理错误... 463

发布变更... 465

在控制台监视应用程序... 466

22.4  维护... 467

日志文件... 467

清扫session. 468

22.5  伸缩:无共享架构... 469

Rails提供无共享环境... 469

22.6  寻找并解决性能瓶颈... 472

tail监控日志... 473

超越tail 474

22.7  案例分析:每天运行的Rails 476

37signals开发的Basecampwww.basecamphq.com... 477

Robot Co-op开发的43 Thingswww.43things.com... 477

抵押处理引擎(www.rapidreporting.com... 478

附录A  Ruby简介... 481

A.1  Ruby是一种面向对象的语言... 481

A.2  Ruby中的名称... 482

A.3  方法... 483

A.4  ... 485

privateprotected. 487

A.5  模块... 487

A.6  数组与hash. 488

hash与参数列表... 489

A.7  控制结构... 489

A.8  正则表达式... 490

A.9  代码块与迭代器... 490

A.10  异常... 491

A.11  对象序列化... 492

A.12  交互式的Ruby. 492

A.13  Ruby惯用法... 493

A.14  RDoc文档... 494

附录B  配置参数... 481

B.1  ActiveRecord配置... 481

B.2  ActionPack配置... 482

B.3  ActionMailer配置... 484

B.4  TestCase配置... 484

附录C  源代码... 481

C.1  完整的Depot应用... 481

数据库文件... 481

辅助模块... 482

单元测试和功能测试... 482

性能测试... 482

CSS文件... 482

C.2  系统提示程序范例... 482

C.3  代码示例交叉引用... 483

附录D  资源... 481

D.2  推荐书目... 481

索引... 533

更多精彩陆续放送,敬请关注! 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11899次
    • 积分:162
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:16条
    文章存档
    最新评论