Rails敏捷开发实践:应用Rails构建Web应用第三版

需积分: 15 1 下载量 184 浏览量 更新于2024-07-27 收藏 10.79MB PDF 举报
"Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版" 本书是一部关于使用Ruby on Rails框架进行敏捷Web开发的专业指南,适合初学者和有经验的开发者。书中详细介绍了Rails的核心概念、安装过程、基本应用构建,以及如何通过增量式开发实现复杂的Web功能。以下是各章节的关键知识点: 第1章介绍了Rails的敏捷开发理念,强调快速迭代和适应变化的重要性。它鼓励读者根据需求逐步学习,而非一次性掌握所有内容。 第2章探讨了Rails应用的MVC(模型-视图-控制器)架构。模型部分主要涉及ActiveRecord,它是Rails用于数据存储和操作的组件;视图负责呈现数据,而控制器处理用户请求并协调模型和视图。 第3章讲解了Rails的安装过程,涵盖了Windows、MacOSX和Linux平台的安装步骤,以及如何选择Rails版本、配置开发环境和连接数据库。 第4章展示了快速启动Rails应用的方法,包括创建新应用和构建简单的“Hello, Rails”页面,帮助读者快速上手。 第5章至第9章通过一个名为Depot的应用程序实例,逐步引导读者进行增量式开发。这些章节涵盖了以下内容: - 第5章介绍了增量式开发的理念,并概述了Depot应用的功能。 - 第6章至第8章分别讲述了如何实现货品维护、分类显示和创建购物车等功能。每个任务都分为多个迭代,逐步完善应用。 - 任务A介绍了模型和数据库的交互,通过迭代实现货品的增删改查。 - 任务B讲解了视图的改进,如创建分类列表、添加布局和链接。 - 任务C涵盖了事务处理,以及购物车的创建和错误处理。 - 第9章通过任务D引入Ajax技术,展示了如何用Ajax实现动态购物车,提高用户体验。 这些章节深入浅出地展示了Rails开发的全过程,包括数据库交互、视图渲染、控制器逻辑以及前端技术的运用,旨在帮助读者理解并熟练掌握敏捷Web开发。
2011-10-26 上传
Ruby on Rails 是一个框架,一个使Web 应用的开发、部署和维护变得更容易的框架。自从发布 第一个版本以来,Rails 已经从一个默默无闻的玩具蜕变成了一种世界性的现象。它拿下了一个又一个 的奖项,更重要的是,很多web2.0 应用都选择它作为基础框架。Rails 已经不再只是一小撮黑客推崇 的时髦玩艺:很多跨国公司正在用它来开发自己的web 应用。 为什么会这样?有几个方面的原因。 首先,很多开发者已经对自己开发Web 应用所使用的技术深感厌倦。不管使用Java、PHP 还是NET, 越来越多的开发者开始深切地感到:这些东西实在难用得要死。就在此时,Rails 从天而降,而且它要 简单得多。 光有简单是不够的。这些人都是专业的软件开发者,他们编写的是真实的网站应用,他们希望自己 的产品经得起时间的检验,所以他们总是选择先进而专业的技术。这些开发者们深入研究了Rails,并 发现它不仅仅是一个快速开发网站的工具。 譬如说,所有的Rails 应用都采用了“模型-视图-控制器”(Model-View-Controller, MVC) 架构。Java 开发者都很熟悉MVC 框架,例如Tapestry 和struts。但Rails 把MVC 贯彻得更彻底: 当你用Rails 开发时,每一块代码该放在什么地方都有一定之规,代码之间都按照规定的方式进行交互。 从一开始,Rails 就已经帮你准备好了应用程序的骨架。 专业的程序员总是给自己的代码编写测试。同样,Rails 也提供了这方面的支持。所有的Rails 应用都天生内建了对测试的支持。当你开始增加功能时,Rails 就会自动帮你创建针对这项新功能的测 试存根(stub)。Rails 框架让应用程序的测试变得更容易,因此,Rails 应用也更能够得到充分的测 试。 Rails 应用是用Ruby 编写的,这是一种现代的面向对象脚本语言。Ruby 很简洁,却又不致简练 得难以理解。使用Ruby,你可以自然而清晰地表述自己的想法,因此,Ruby 程序很容易编写,而且放 上几个月之后也很容易读懂——这是非常重要的。 Rails 给Ruby 加上了一些限制,又进行了一些独具匠心的扩展,使得在其中编程更加容易,也让 我们的程序更短小、更易读,并且让我们能够在代码中完成一些通常需要用上外部配置文件才能完成的任 务。这样一来,我们可以更轻松地看懂其中的逻辑。譬如说,下面的代码定义了一个项目中的模型类。现 在你不必操心其中的细节,只要注意在这短短几行代码中描述了多少信息即可。
2010-09-02 上传
  全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“Rails框架“部分中,作者深入介绍了Rails框架的各个组件。 除了上述两部分外,对Rails缺乏了解的读者应该首先阅读“起步”部分,通过一个最简单的应用示例感性了解这个时下热门的web框架。不熟悉Ruby的读者应该阅读“附录”部分中的“Ruby简介”,以便了解Ruby的基本语法与常见用法。 本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前两版的内容架构基础上,第3版增加了对Rails 2中新特性和最佳实践的内容介绍。相比第2版中的内容,Rails 2增加了REST、资源、轻量级web service等新特性。本书涵盖了这些全新的内容,因此能更好地体现出Rails框架的发展现状。 整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了web应用开发中各方面的相关知识,堪称一部内容全面而又深入浅出的佳作。 图书目录 第1章 简介 1 1.1 Rails是敏捷的 2 1.2 读你所需 3 1.3 致谢 5 第1部分 起步 7 第2章 Rails应用的架构 9 2.1 模型,视图,以及控制器 9 2.2 Active Record:Rails的模型支持 11 2.3 Action Pack:视图与控制器 13 第3章 安装Rails 15 3.1 购物清单 15 3.2 Windows上的安装 15 3.3 Mac OS X上的安装 17 3.4 Linux上的安装 17 3.5 选择Rails版本 18 3.6 开发环境 19 3.7 Rails和数据库 22 3.8 保持更新 23 3.8 Rails和ISPs 24 第4章 立竿见影 25 4.1 新建一个应用程序 25 4.2 Hello, Rails 27 4.3 把页面连起来 35 4.4 我们做了什么 37 第2部分 构建应用程序 39 第5章 Depot应用程序 41 5.1 增量式开发 41 5.2 Depot做些什么 41 5.3 让我们编码吧 44 第6章 任务A:货品维护 45 6.1 迭代A1:跑起来再说 45 6.2 创建货品模型和维护应用 49 6.3 迭代A2:添加缺失的字段 52 6.4 迭代A3:检查一下 56 6.5 迭代A4:更美观的列表页 60 第7章 任务B:目录显示 65 7.1 迭代B1:创建目录列表 65 7.2 迭代B2:添加页面布局 68 7.3 迭代B3:用辅助方法格式化价格 70 7.4 迭代B4:链接到购物车 70 第8章 任务C:创建购物车 73 8.1 Session 73 8.2 迭代C1:创建购物车 76 8.3 迭代C2:更聪明的购物车 78 8.4 迭代C3:处理错误 81 8.5 迭代C4:结束购物车 84 第9章 任务D:Ajax初体验 87 9.1 迭代D1:迁移购物车 87 9.2 迭代D2:创建基于Ajax的购物车 91 9.3 迭代D3:高亮显示变化 94 9.4 迭代D4:隐藏空购物车 96 9.5 迭代D5:JavaScript被禁用时的对策 99 9.6 我们做了什么 99 第10章 任务E:付账! 101 10.1 迭代E1:收集订单信息 101 第11章 任务F:管理 113 11.1 迭代F1:添加用户 113 11.2 迭代F2:登录 120 11.3 迭代F3:访问控制 122 11.4 迭代F4:添加边栏,以及更多的管理功能 124 第12章 任务G:最后一片饼干 129 12.1 生成XML 129 12.2 扫尾工作 136 第13章 任务I:国际化 139 13.1 迭代I1:翻译 139 13.2 迭代I2:探索内容的翻译策略 149 第14章 任务T:测试 151 14.1 加上测试 151 14.2 模型的单元测试 152 14.3 控制器的功能测试 161 14.4 应用程序的集成测试 175 14.5 性能测试 181 14.6 使用Mock对象 184 第3部分 Rails框架 187 第15章 深入Rails 189 15.1 Rails在哪儿 189 15.2 目录结构 189 15.3 Rails配置 195 15.4 命名约定 197 15.5 Rails的日志 200 15.6 调试信息 200 15.7 精彩预告 202 第16章 Active Support 203 16.1 通用扩展 203 16.2 枚举和数组 204 16.3 Hash 205 16.4 字符串扩展 206 16.5 数值的扩展 208 16.6 时间和日期的扩展 208 16.7 Ruby符号的扩展 210 16.8 with_options 211 16.9 Unicode支持 211 第17章 数据迁移 215 17.1 创建和运行迁移任务 216 17.2 剖析迁移任务 218 17.3 表的管理 221 17.4 数据迁移任务 225 17.5 高级迁移任务 227 17.6 迁移任务的缺点 230 17.7 在迁移任务之外操作数据库结构 231 17.8 管理迁移任务 231 第18章 ActiveRecord第一部分:基础 233 18.1 表和类 233 18.2 字段和属性 234 18.3 主键与ID 237 18.4 连接数据库 238 18.5 CRUD 242 18.6 聚合与结构化数据 257 18.7 杂录 262 第19章 ActiveRecord第二部分:表间关联 265 19.1 创建外键 266 19.2 在模型对象中指定关联 267 19.3 belongs_to和has_xxx声明 268 19.4 连接多张表 280 19.5 自引用的连接 287 19.6 Acts As 288 19.7 何时保存 291 19.8 预先读取子记录 292 19.9 计数器 293 第20章 ActiveRecord第三部分:对象生命周期 295 20.1 校验 295 20.2 回调 303 20.3 高级属性 308 20.4 事务 311 第21章 ActionController:路由与URL 317 21.1 基础 317 21.2 请求的路由 318 21.3 基于资源的路由 329 21.4 路由的测试 342 第22章 ActionController和Rails 345 22.1 Action方法 345 22.2 Cookie和Session 354 22.3 Flash——Action之间的通信 364 22.4 过滤器与校验 366 22.5 缓存初接触 372 22.6 GET请求的问题 378 第23章 Action View 381 23.1 模板 381 23.2 使用辅助方法 385 23.3 用于格式化、链接和分页的辅助方法 386 23.4 如何使用表单 393 23.5 包装模型对象的表单 393 23.6 自制表单构建器 403 23.7 处理与模型对象无关的字段 406 23.8 Rails应用的文件上传 409 23.9 布局与组件 411 23.10 再论缓存 417 23.11 新增模板系统 421 第24章 Web 2.0 423 24.1 Prototype 423 24.2 Script.aculo.us 438 24.3 RJS模板 451 24.4 结论 456 第25章 ActionMailer 457 25.1 发送邮件 457 25.2 接收邮件 465 25.3 电子邮件的测试 467 第26章 Active Resource 469 26.1 Active Resource的替代品 469 26.2 给我看代码! 471 26.3 关联和集合 473 26.4 小结 475 第4部分 部署和安全 477 第27章 保护Rails应用 479 27.1 SQL注入 479 27.2 用参数直接创建记录 481 27.3 不要相信ID参数 482 27.4 不要暴露控制器方法 483 27.5 跨站脚本(CSS/XSS) 483 27.6 防御session定置攻击 485 27.7 文件上传 486 27.8 不要以明文保存敏感信息 487 27.9 用SSL传输敏感信息 487 27.10 不要缓存需要身份认证的页面 488 第28章 部署与生产 489 28.1 尽早开始 489 28.2 生产服务器如何工作 490 28.3 安装Passenger 491 28.4 Capistrano无忧部署 493 28.5 检查已部署的应用程序 496 28.6 投入生产运行之后的琐事 497 28.7 上线,并不断前进 498 索引 499