《Rails项目实战剖析与技巧大全》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:安尔顿·阿兰梅达著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121068775
  • 页数:537 页
图书介绍:如果你是一个已经领略Ruby on Rails威力的开发人员,又想进一步提升Rails知识,本书对你而言将是无价之宝。本书并不在于该框架的应用基础,而是聚焦于带你感受众多真实案例的开发实践,包括博客、个人备忘录、日历、一个由PHP移植为Rails的网站实例等。每一应用实例均来自最佳实践,包括类型、功能、多种Rals插件利用、Rails引擎和Ruby Gem。同时,也探讨最先进的Rails功能,诸如新的REST执行和Active Resource。作为必要的回顾,本书在直接进入项目实践之前,先向读者介绍了一个理想开发环境的建立。全书内容包括:如何基于Windows、Mac OS X和Linux建立Rails;如何配合MySQL and SQLite数据库使用Rails;如何合并最新插件、引擎和Ruby Gems到应用中,以节省开发时间;如何使用Yahoo YUI轻松实现一致的应用风格;如何将PHP站点翻新为Rails;如何使用Ajax技术为应用增色;如何使用最先进的Rails功能,如REST和Active Resource。

第1章 搭建开发环境 3

1.1安装Ruby和Rails 3

1.1.1在Linux上安装Ruby 4

1.1.2在Windows上安装Rails 4

1.1.3在Mac OS X上安装Rails 5

1.2安装数据库 6

1.2.1安装S QLite 7

1.2.2安装SQLite Ruby gem 7

1.3代码编辑工具 8

1.3.1 Windows 8

1.3.2 Linux 11

1.3.3 Mac 11

1.3.4建议 13

1.4安装Web服务器 13

1.4.1 WEBrick 13

1.4.2 Mongrel 14

1.5最后给读者的建议 16

1.5.1使用版本控制系统 16

1.5.2使用Capistrano实现自动部署 17

1.6本章小结 19

第2章 创建Rails应用程序 21

2.1创建步骤 21

2.1.1步骤1:创建项目 21

2.1.2步骤2:配置数据库 25

2.1.3步骤3:测试应用程序 26

2.1.4步骤4:安装样式表(Style Sheet) 27

2.1.5步骤5:将应用程序与Rails绑定 27

2.2本章小结 28

第3章 实现用户注册与认证管理 31

3.1创建页面布局 31

3.1.1初始化布局 32

3.1.2第一个视图模板 35

3.2添加用户注册与认证管理 36

3.2.1配置Acts as Authenticated 39

3.2.2实现用户注册功能 41

3.2.3发送邮件通知 43

3.3本章小结 49

第4章 实现日常待办事项管理 51

4.1创建Task模型类 51

4.2创建Task控制器 53

4.3添加任务表单 55

4.4更好的日期选择控件 56

4.5 Schedule模型 59

4.6 Todo模型 60

4.7实现任务列表功能 62

4.8实现日程表功能 64

4.8.1安排任务 65

4.8.2显示日程表 66

4.9使用局部模板 68

4.10使用Ajax 71

4.10.1可排序元素 71

4.10.2 RJS 72

4.11本章小结 74

第5章 完善 77

5.1添加验证功能 77

5.2任务修改功能 77

5.3添加日历(Calendar) 77

5.4查看以前的任务 78

5.5记录每个任务的预计时间 78

5.6显示任务完成率 78

5.7开发iPhone接口 79

5.8优化数据库查询 79

5.9将代码移到模型类中 80

5.10绑定Chronic Gem 81

5.11本章小结 85

第6章 开发基于REST的应用程序 85

6.1基于REST的开发 85

6.1.1什么是REST 85

6.1.2 REST的价值 86

6.2第一个资源 87

6.2.1 REST工具 87

6.2.2创建Exercise资源 91

6.3添加基于REST的认证功能 96

6.4改进外观显示 102

6.5创建新的用户 103

6.6完成Exercise资源 106

6.6.1创建模型间关联关系 106

6.6.2修改Exercise控制器的作用域 107

6.6.3运动(Exercise视图 109

6.7 Workout资源 112

6.7.1 Workout模型及其关联关系 112

6.7.2 Workout控制器 112

6.7.3修改视图 114

6.8记录锻炼过程中的数据 116

6.8.1创建Activity模型类及其关联关系 117

6.8.2修改Activity路由 119

6.8.3修改Activity控制器 120

6.8.4修改Activity视图模板 122

6.8.5修改Workout控制器中的show方法 124

6.8.6改进添加Activity的表单 125

69跟踪锻炼目标 127

69.1修改模型类 127

6.9.2创建嵌套路由 128

6.9.3配置控制器 128

6.9.4配置视图 132

6.9.5 记录上一次结果 136

6.9.6探索 REST接口 136

6.10本章小结 139

第7章 为应用程序添加图形功能 141

7.1第二阶段开发 141

7.2 Rails中的图表 141

7.2.1 CSS图表 141

7.2.2 Sparklines 144

7.2.3 Gruff图表 147

7.2.4 Scruffy 153

7.2.5 Ziya 155

7.3本章小结 162

第8章 完善Exercisr 163

8.1为接口添加RJS 163

8.2创建日历来显示锻炼的时间 163

8.3对图表进行缓存 164

8.4使首页也符合REST要求 164

8.5开发更多的图表 164

8.6调整模型类和控制器中的业务逻辑 164

8.7开发网络交流功能 165

8.8本章小结 165

第9章 使用Typo创建博客程序 169

9.1 Typo介绍 169

9.1.1 Typo的特点 170

9.1.2安装Typo 170

9.1.3激活Typo Blog 171

9.2 Rails的启动过程 173

9.3理解Typo 177

9.4 Rails如何对请求进行路由 181

9.5确定设计方案 187

9.6使用Typo 188

9.6.1管理Blog 190

9.62添加内容 191

9.7定制Typo 192

9.7.1管理主题 192

9.7.2关于主题 193

9.7.3创建自定义主题 193

9.7.4创建侧边栏(Sidebar)组件 198

9.7.5自定义侧边栏组件 199

9.8本章小结 200

第10章 创建一个简单的博客引擎(Engine) 201

10.1我们将创建什么样的引擎 201

10.2创建第一组模型类 202

10.3创建API 205

10.3.1 MetaWeblog服务API 207

10.3.2支持BloggerAPI 209

10.3.3支持图像 222

10.4创建博客的展现界面 228

10.4.1创建基本的布局 228

10.4.2修改Application控制器 230

10.4.3创建首页 230

10.4.4查看某篇日志 234

10.5本章小结 238

第11章 完善博客程序 239

11.1开发BloggerAPI 239

11.2使用Mephisto来创建Blog程序 239

11.3定制Typo 239

11.4在方法中实现认证功能 240

11.5添加缓存(Caching) 240

11.6添加评论和Akismet垃圾广告过滤功能 240

11.7添加Web后台管理 241

11.8针对分类的RSS文件(Feed) 241

11.9实现标签(Tag)功能 241

11.10本章小结 242

第12章 使用页面缓存构建基本的系统 245

12.1基本的管理系统 246

12.1.1上传漫画 247

12.1.2 Comic模型 248

12.1.3修改路由 251

12.1.4修改脚手架(Scaolding 252

12.1.5创建一个漫画 254

12.1.6简单的认证系统 256

12.1.7限制访问 258

12.2向公众展现漫画 259

12.3页面缓存 261

12.3.1开启缓存功能 262

12.3.2清除缓存 266

12.4本章小结 268

第13章 实现高级缓存 269

13.1 Members控制器 270

13.2限制其他用户的访问 271

13.3缓存付费成员的页面 273

13.4使缓存页面过期 275

13.5片段缓存 276

13.5.1自定义布局 277

13.5.2清除片段缓存 282

13.6本章小结 282

第14章 完善Web漫画站点 285

14.1添加一个博客(Blog 285

14.2集成一个论坛(Forum) 285

14.3通过日期来选择漫画 286

14.4完善身份认证系统 286

14.5本章小结 286

第15章 用户和档案管理 291

15.1安装Restful认证 291

15.2我们即将要创建什么 294

15.2.1创建共享布局 295

15.2.2 Avatar模型 296

15.2.3用户的详细信息模型 298

15.2.4创建示例用户 300

15.2.5 Profile控制器 301

15.3修改用户的详细信息和头像 304

15.3.1修改档案信息 305

15.3.2查看档案 308

15.4添加博客功能 309

15.5在用户页面中添加博客摘要 317

15.6添加相册功能 319

15.7添加照片 321

15.8相册与照片控制器 323

15.8.1创建一个新的相册 324

15.8.2查看指定相册 325

15.8.3显示所有用户的相册 326

15.9本章小结 328

第16章 完善社区站点 329

16.1创建社区主页 329

16.1.1创建默认路由 329

16.1.2 index页面 330

16.1.3创建首页 334

16.2添加用户目录 336

16.2.1创建字母索引 336

16.2.2创建路由 337

16.2.3添加directo方法 337

16.2.4修改视图模板 338

16.3添加导航 339

16.3.1上部导航 339

16.3.2页脚导航 340

164添加评论 340

16.4.1安装acts_as_commentable插件 341

16.4.2显示评论 342

16.4.3添加评论 345

165本章小结 351

第17章 完善教会社区应用 353

17.1创建用户导入或注册功能 353

17.2使用SWFupload批量上传照片 353

17.3添加好友列表功能 354

17.4改进主页 355

17.5清理部分Ruby代码 355

17.6将代码移到局部模板(Partial)中 355

17.7添加缓存功能 357

17.8本章小结 357

第18章PHP网站的遗留问题 361

18.1简要介绍当前系统 362

18.1.1当前系统的代码 363

18.1.2遗留系统存在的问题 365

18.2建立我们的应用程序 366

18.3使用Ext-JS建立更好的界面 368

18.3.1 Border Layout 369

18.3.2表格(Grid) 370

18.3.3对话框(Dialog) 371

18.3.4消息框(Message Box) 372

18.4在Rails应用程序中安装Ext-JS 373

18.5自动化Ext-JS安装 374

18.6本章小结 378

第19章 转化游戏记录 379

19.1对数据库进行迁移转化 379

19.2 Games表 381

19.3创建Game模型 385

19.4创建Developer和Publisher模型 387

19.5创建Genres模型 391

19.6配置路由 393

19.7创建控制器 393

19.8创建视图 396

19.8.1标准布局 396

19.8.2使用Ext Border Layout改进布局页面 399

19.9定义工作流(Workow) 402

19.9.1显示当前资源列表 402

19.9.2创建一个新资源 402

19.9.3删除指定资源 403

19.9.4修改指定资源 403

19.10建立开发商页面 403

19.10.1显示开发商列表 403

19.10.2修改开发商记录 408

19.10.3改进表格 410

19.10.4在工具栏上增加按钮 417

19.10.5删除开发商记录 418

19.10.6新建开发商记录 421

19.11将工作流抽象为辅助方法 423

19.12创建Show/Edit模板 433

19.13游戏 435

19.13.1处理选择列表框 440

19.13.2提供所见即所得(WYSIWYG)功能 442

19.14查看游戏截图 446

19.15 本章小结 452

第20章 新闻管理功能 453

20.1修改数据库 453

20.2创建新闻模型 455

20.3创建控制器 457

20.4创建列表视图 458

20.4.1重定义index方法 458

20.4.2创建index视图 458

20.4.3修改表格 460

20.5捕获创建中的错误信息 471

20.6新闻编辑页面 472

20.6.1编辑新闻 472

20.6.2激活(Activate)邮件 474

20.6.3为新闻建立关联关系 476

20.7本章小结 483

第21章 完善游戏网站 485

21.1创建自己的生成器(Generator) 485

21.2添加登录功能 485

21.3在新闻中关联发行商、开发商和游戏机型 487

21.4创建一个游戏机型常量 487

21.5增加包装图片和游戏截图的上传功能 487

21.6支持游戏评论 488

21.7支持较长内容 488

21.8添加Acts as Paranoid插件 488

21.9将逻辑移到模型中 489

21.10本章小结 489

第22章Highrise的简要介绍 493

22.1注册一个Highrise账户 493

22.2创建联系人 495

22.3创建任务 496

22.4 Highrise的更多功能 496

22.5本章小结 497

第23章 集成Highrise的REST API 499

23.1浏览API 499

23.2使用REST API 501

23.3新建Edge Rails项目 502

23.3.1获得Rails的Edge版本 503

23.3.2创建Edge Rails应用程序 503

23.4测试我们的连接 505

23.5本章小结 507

第24章 创建预约程序 509

24.1我们要创建什么样的程序 509

24.2设计布局草图 509

24.2.1安装Ext 510

24.2.2使用Yahoo地图 510

24.2.3获取应用程序ID 511

24.2.4布局脚本 511

24.3 Home控制器 512

24.4添加任务列表 516

24.5显示待办任务 518

24.5.1创建变量 519

24.5.2建立数据源 520

24.5.3在地图上显示客户 525

24.6管理备忘记录(Notes) 527

24.6.1显示备忘信息 528

24.6.2添加备忘信息 528

24.6.3使用AJAX更新备忘信息 529

24.7本章小结 531

第25章 完善Rails 2.0应用程序 533

25.1改进Highrise项目 533

25.1.1缓存客户数据 533

25.1.2创建约会 533

25.1.3修改客户信息 534

25.2 Edge Rails 2.0的新特性 534

25.2.1 Sexy Migrations 534

25.2.2自动生成迁移代码 534

25.2.3数据库命令 535

25.2.4查看路由 535

25.2.5查询缓存 535

25.2.6改善REST风格的路由 536

25.2.7从框架中移除的功能 536

25.3本章小结 537