本书介绍如何使用Rails开发实用的大型项目。在本书中,作者将引导读者一步步地从静态的首页开始逐渐完成整个网站的开发,从用户注册和验证开始,逐步添加用户简档、图像上传、E-mail、博客、功能完善的文字和图像搜索以及交友系统等功能,使其演变成高度动态的网站。在这个过程中,读者将了解Rails如何通过MVC架构、抽象层、自动测试和代码重构等机制实现代码复杂度控制,即使是由少量开发人员组成的团队,也可以利用这些机制实现到大型项目开发的过渡。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | RailsSpace--Ruby on Rails Web应用开发/开源系列 |
分类 | 教育考试-考试-计算机类 |
作者 | (美)哈特尔//(美)普罗卡克 |
出版社 | 人民邮电出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书介绍如何使用Rails开发实用的大型项目。在本书中,作者将引导读者一步步地从静态的首页开始逐渐完成整个网站的开发,从用户注册和验证开始,逐步添加用户简档、图像上传、E-mail、博客、功能完善的文字和图像搜索以及交友系统等功能,使其演变成高度动态的网站。在这个过程中,读者将了解Rails如何通过MVC架构、抽象层、自动测试和代码重构等机制实现代码复杂度控制,即使是由少量开发人员组成的团队,也可以利用这些机制实现到大型项目开发的过渡。 内容推荐 本书通过对一个社交网络RailsSpace开发过程的介绍,详细地展示了流行的Web应用程序开发框架Ruby on Rails的配置和使用方法。本书循序渐进地带领读者完成一个完整的项目,从静态的标题页开始,通过添加注册和验证功能,逐步完成一个高度动态的网站,它具备用户配置、图像上传、简单的博客、纯文本和地理位置搜索以及交友请求系统等功能。本书内容翔实,涵盖了诸如MVC程序架构、关系数据库和AJAX支持、强大的测试机制和REST风格等许多Rails的精彩特性,以及注册和登录、CSS样式和特效、后台数据库交互、博客站点等内容。 本书是以实例指南的形式组织编写的入门书籍,适合渴望了解Ruby on Rails的开发人员、各类Web开发人员以及网站建设人员。已经熟悉Ruby甚至已经对Rails有了一定了解的读者,也能够在本书中学到Rails更新版本的许多新特性。对于需要“Rails百科全书”的读者,本书则提供了许多参考书籍和网站。 目录 第1章 导言 1 1.1 使用Rails的理由 1 1.1.1 生产力趋于自由 1 1.1.2 不自由的生产力 2 1.2 选择本书的理由 3 1.3 本书读者 3 1.3.1 阅读本书的方法 4 1.3.2 跟踪本书动态 4 1.4 两个Rails的故事 4 1.4.1 Aure 4 1.4.2 Michael 6 第1部分 基础知识 第2章 入门指南 10 2.1 预备知识 10 2.1.1 设置开发环境 12 2.1.2 执行rails 12 2.1.3 开发服务器 14 2.2 第一个页面 15 2.2.1 生成一个控制器 16 2.2.2 Site控制器 17 2.2.3 Rails URL 19 2.2.4 改变路由 20 2.3 Rails视图 20 2.4 页面布局 22 2.4.1 ERb、操作和实例变量 24 2.4.2 回顾:切分一个页面 25 2.4.3 添加导航栏 26 2.4.4 哈希表 27 2.4.5 符号 28 2.4.6 完善link_to 28 2.4.7 一些风格的问题 29 2.4.8 完善导航栏 30 2.4.9 自己动手查找 30 2.5 基于样式的开发 31 第3章 用户建模 34 3.1 创建用户模型 34 3.1.1 安装数据库 34 3.1.2 migration和用户模型 37 3.1.3 针对用户模型的第一版本的migration代码 37 3.1.4 运行migration 39 3.2 用户模型验证 41 3.2.1 控制台 41 3.2.2 一个简单的验证机制 43 3.2.3 验证机制的执行 45 3.2.4 改进验证机制 46 3.2.5 全功能的验证机制 47 3.2.6 有魔法的列 49 3.3 进一步确保数据完整性 51 第4章 用户注册 53 4.1 User控制器 53 4.2 用户注册:视图 54 4.2.1 注册视图:外观 54 4.2.2 理解注册视图 58 4.2.3 精化注册表单 59 4.2.4 享受表单并调试它 61 4.3 用户注册:实际操作 63 4.3.1 表单错误信息 67 4.3.2 Flash 70 4.3.3 完成后的register函数 72 4.3.4 中心页面的占位模块 73 4.4 添加注册链接 74 4.5 一个示例用户 78 第5章 测试入门 79 5.1 测试哲学 80 5.2 配置测试数据库 80 5.3 测试Site控制器 81 5.3.1 有价值的测试 82 5.3.2 测试是否过度 84 5.4 测试注册机制 84 5.4.1 运行功能测试 84 5.4.2 针对注册机制的基本测试 85 5.4.3 测试成功的注册 87 5.4.4 测试不成功的注册 88 5.4.5 执行测试 90 5.4.6 是否还需要其他针对注册功能的测试 91 5.5 基本的User模型测试 91 5.6 详细的User模型测试 94 5.6.1 测试唯一性 95 5.6.2 测试用户名长度 96 5.6.3 使用控制台 97 5.6.4 测试密码长度 98 5.6.5 测试正则表达式 100 5.6.6 执行所有测试 106 第6章 登录和注销 108 6.1 使用session维护状态 108 6.2 登录 110 6.2.1 跟踪登录状态 110 6.2.2 注册时自动登录 110 6.2.3 基于session变量的调试 111 6.2.4 登录视图和操作 115 6.2.5 针对有效登录的测试 117 6.2.6 针对无效登录的测试 119 6.3 注销 120 6.3.1 测试注销操作 122 6.3.2 测试导航功能 122 6.4 保护页面 124 6.4.1 愚笨的页面保护 124 6.4.2 巧妙的页面保护 125 6.4.3 测试页面保护 127 6.5 友好的URL转向 128 6.5.1 request变量 128 6.5.2 友好的登录后转向 132 6.5.3 友好的注册后转向 133 6.5.4 友好性测试 134 6.6 对基本的登录功能进行重构 135 6.6.1 logged in? 136 6.6.2 login! 139 6.6.3 logout! 142 6.6.4 clear_password! 143 6.6.5 消除表单处理中的重复代码 145 6.6.6 消除友好转向中的重复代码 146 6.6.7 健康状态检查 148 第7章 高级登录功能 149 7.1 记忆功能 149 7.1.1 Remember Me?复选框 149 7.1.2 Remember Me属性 152 7.1.3 Remember Me cookie 153 7.2 真正记住用户 158 7.2.1 验证cookie 159 7.2.2 记起曾经记住的 160 7.2.3 更新logout函数 162 7.2.4 更安全的cookie 164 7.2.5 完成的(?)函数 166 7.3 Remember Me测试 167 7.3.1 更新后的登录测试 167 7.3.2 更新后的注销测试 172 7.4 高级测试:集成测试 173 7.4.1 测试cookie记忆:第一个片断 173 7.4.2 对测试代码进行测试:一个警示 175 7.4.3 对Rails测试的一些反思 177 7.5 再次重构 177 7.5.1 对记住用户信息的代码进行重构 178 7.5.2 对忘记用户信息的代码进行重构 180 7.5.3 两点改进 181 7.5.4 彻底重构后的login函数 183 7.5.5 最后需要考虑的问题 185 第8章 更新用户信息 186 8.1 不仅仅是占位页面的中心 186 8.2 更新E-mail地址 187 8.3 更新密码 189 8.4 测试用户编辑功能 196 8.4.1 测试辅助函数 196 8.4.2 测试编辑页面 200 8.4.3 高级测试 201 8.5 partials 203 8.5.1 两个简单的partial 203 8.5.2 更高级的partial 204 8.5.3 最后一个小错误 206 8.5.4 更新登录和注册操作 207 第2部分 创建一个社交网络 第9章 个人配置信息 212 9.1 用户配置信息占位页面 213 9.1.1 用户配置信息页面的URL 213 9.1.2 Profile控制器和操作 214 9.2 用户规格描述 216 9.2.1 创建Spec模型 216 9.2.2 Spec模型 218 9.2.3 模型整合 220 9.3 编辑用户规格 221 9.3.1 Spec规格控制器 221 9.3.2 一个HTML公共工具程序 223 9.3.3 规格描述的编辑视图 225 9.3.4 保护规格描述的相关页面 226 9.3.5 测试规格描述功能 227 9.4 更新用户中心 230 9.4.1 新的hub视图 231 9.4.2 显示规格描述信息的方框 234 9.4.3 命名路由和配置信息相关的URL 235 9.4.4 用户中心的主要内容 237 9.5 个人FAQ:兴趣与个性 240 9.5.1 FAQ模型 240 9.5.2 FAQ控制器 243 9.5.3 编辑FAQ 243 9.5.4 将FAQ添加到用户中心 245 9.5.5 测试FAQ功能 248 9.6 面向公众的配置信息 249 第10章 社区 252 10.1 创建一个社区(Community控制器) 252 10.2 创建示例用户 253 10.2.1 收集数据 253 10.2.2 载入数据 254 10.3 社区索引 256 10.3.1 find操作中的新技巧 257 10.3.2 index操作 259 10.3.3 字典序索引 261 10.3.4 显示索引结果 263 10.4 对结果进行完善 267 10.4.1 添加分页功能 267 10.4.2 结果摘要信息 268 第11章 搜索与浏览 271 11.1 搜索 271 11.1.1 搜索视图 271 11.1.2 Ferret 273 11.1.3 使用find_by_contents进行搜索 275 11.1.4 为搜索页面添加分页功能 277 11.1.5 规则的异常 280 11.2 测试搜索页面 282 11.3 着手浏览功能 284 11.3.1 浏览页面 284 11.3.2 通过A/S/L查找(暂时保留L) 286 11.4 区域、区域、区域 290 11.4.1 本地的地理信息数据库 290 11.4.2 使用GeoData进行区域搜索 292 11.4.3 区域名称 295 11.4.4 添加浏览验证 296 11.4.5 最终的社区主页 301 第12章 头像 303 12.1 为上传头像做准备 303 12.1.1 调整一个模型 304 12.1.2 头像上传页面 305 12.1.3 用于头像功能的partial 308 12.2 维护头像信息 310 12.2.1 ImageMagick和图像转换 310 12.2.2 save方法 313 12.2.3 添加验证机制 315 12.2.4 删除头像 317 12.2.5 测试头像功能 319 第13章 E-mail 322 13.1 Action Mailer 322 13.1.1 配置 322 13.1.2 密码提醒 323 13.1.3 添加提醒链接以及发送提醒信息 325 13.1.4 测试提醒功能 327 13.2 双向隐藏的E-mail系统 330 13.2.1 E-mail链接 330 13.2.2 correspond操作和E-mail表单 331 13.2.3 E-mail邮件 334 13.2.4 测试双向隐藏的E-mail 336 第14章 交友系统 340 14.1 为交友系统创建数据模型 340 14.1.1 抽象的朋友关系 340 14.1.2 Friendship模型 341 14.1.3 创建未决定的朋友关系 343 14.1.4 朋友关系请求 344 14.1.5 完成Friendship模型 345 14.1.6 测试Friendship模型 346 14.2 朋友关系请求 348 14.2.1 建立朋友关系请求的链接 348 14.2.2 控制请求 350 14.3 管理朋友关系请求 352 14.3.1 has_many :through 352 14.3.2 交友中心 354 14.3.3 Friendship操作 357 14.3.4 测试建立朋友关系的请求 359 第15章 REST风格的博客 361 15.1 应该休息(REST)一下了 361 15.1.1 REST和CRUD 362 15.1.2 URL修饰符 364 15.1.3 房间里的大象:分号 365 15.1.4 应答格式和一个免费的API 366 15.2 用于REST风格的博客的脚手架 367 15.2.1 第一个REST风格的资源 367 15.2.2 博客中的帖子 369 15.2.3 Posts控制器 372 15.3 创建真正的博客 375 15.3.1 连接到模型 375 15.3.2 博客和帖子的路由 376 15.3.3 真正的Posts控制器 377 15.3.4 博客管理 380 15.3.5 创建帖子 381 15.3.6 显示帖子 383 15.3.7 编辑帖子 386 15.3.8 发表帖子 387 15.3.9 最后一个琐碎的细节 389 15.4 REST风格的测试 391 15.4.1 默认的REST功能测试 391 15.4.2 两个自定义测试 393 第16章 基于AJAX的博客评论功能 395 16.1 REST风格的评论功能 395 16.1.1 评论资源 395 16.1.2 Comment模型及其关联 396 16.1.3 Comments控制器和抢先式的partial 398 16.1.4 为评论相关的请求提供路由 399 16.2 进入AJAX 400 16.2.1 新评论 401 16.2.2 创建评论 404 16.2.3 删除评论 406 16.3 视觉效果 408 16.3.1 RJS文件和第一个特效 408 16.3.2 另两个特效 410 16.3.3 取消按钮 411 16.3.4 优雅地退而求其次 411 16.4 调试和测试 413 16.4.1 再次审视new 413 16.4.2 基于xhr的AJAX测试 414 第17章 接下来的操作 416 17.1 部署的考虑点 416 17.1.1 软件和硬件选项 416 17.1.2 在生产模式中运行 417 17.1.3 最基本的生产服务器环境 418 17.1.4 伸缩性 420 17.1.5 管理基础 421 17.2 与Ruby and Rails相关的更多信息 423 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。