RailsSpace:building a social networking Website with Ruby on Rails

副标题:无

作   者:(美)Michael Hartl,(美)Aurelius Prochazka著;姚军,徐锋译

分类号:

ISBN:9787115191212

微信扫一扫,移动浏览光盘

简介

  《RailsSpace-Ruby on Rails Web应用开发》通过对一个社交网络RailsSpace开发过程的介绍,详细地展示了流行的Web应用程序开发框架Ruby on Rails的配置和使用方法。《RailsSpace-Ruby on Rails Web应用开发》循序渐进地带领读者完成一个完整的项目,从静态的标题页开始,通过添加注册和验证功能,逐步完成一个高度动态的网站,它具备用户配置、图像上传、简单的博客、纯文本和地理位置搜索以及交友请求系统等功能。《RailsSpace-Ruby on Rails Web应用开发》内容翔实,涵盖了诸如MVC程序架构、关系数据库和AJAX支持、强大的测试机制和REST风格等许多Rails的精彩特性,以及注册和登录、CSS样式和特效、后台数据库交互、博客站点等内容。   《RailsSpace-Ruby on Rails Web应用开发》是以实例指南的形式组织编写的入门书籍,适合渴望了解Ruby on Rails的开发人员、各类Web开发人员以及网站建设人员。已经熟悉Ruby甚至已经对Rails有了一定了解的读者,也能够在《RailsSpace-Ruby on Rails Web应用开发》中学到Rails更新版本的许多新特性。对于需要“Rails百科全书”的读者,《RailsSpace-Ruby on Rails Web应用开发》则提供了许多参考书籍和网站。

目录

  第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
  

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

RailsSpace:building a social networking Website with Ruby on Rails
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon