图书介绍

Rails之道【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Rails之道
  • (美)ObieFernandez著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115220721
  • 出版时间:2010
  • 标注页数:504页
  • 文件大小:53MB
  • 文件页数:529页
  • 主题词:计算机网络-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Rails之道PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Rails环境与配置1

1.1 启动1

1.1.1 默认环境设置1

1.1.2 引导2

1.1.3 RubyGems3

1.1.4 初始化4

1.1.5 默认加载路径4

1.1.6 Rails模组及代码自动加载5

1.1.7 内置的Rails信息5

1.1.8 配置6

1.1.9 附加配置8

1.2 开发模式8

1.2.1 类文件自动化重新加载9

1.2.2 Rails类加载器9

1.3 测试模式10

1.4 生产模式11

1.5 日志器11

1.5.1 Rails日志文件12

1.5.2 日志分析13

1.5.3 Syslog15

1.6 总结15

第2章 运用控制器16

2.1 调度器:从这里开始16

2.1.1 接收请求17

2.1.2 和调度器亲密接触17

2.2 渲染视图18

2.2.1 何时开始渲染19

2.2.2 指定渲染19

2.2.3 渲染其他动作的模板19

2.2.4 渲染一个完全不同的模板20

2.2.5 渲染局部模板20

2.2.6 渲染内联模板代码21

2.2.7 渲染文本21

2.2.8 渲染其他类型的数据结构21

2.2.9 什么都不渲染21

2.2.10 渲染的属性22

2.3 重定向23

2.4 控制器和视图之间的通信25

2.5 过滤器25

2.5.1 过滤器继承26

2.5.2 过滤器的类型27

2.5.3 过滤器的队列的顺序28

2.5.4 Around过滤器28

2.5.5 跳过过滤器29

2.5.6 过滤器条件29

2.5.7 过滤器挂起30

2.6 流30

2.6.1 send_data(data,options={})30

2.6.2 send_file(path,options={})31

2.6.3 让web服务器发送文件33

2.7 小结33

第3章 路由34

3.1 路由的两个目的35

3.2 绑定参数35

3.3 使用通配符(“接收器”)36

3.4 静态字符串37

3.5 route.rb文件38

3.5.1 默认的路由信息39

3.5.2 聚焦在:id字段40

3.5.3 默认的路由生成规则40

3.5.4 修改默认的路由信息41

3.6 默认路由信息之前的信息和respond_to41

3.7 空的路由信息42

3.8 编写自定义路由规则43

3.9 使用静态字符串43

3.10 使用你自己的“接收器”44

3.11 关于路由次序的说明45

3.12 在路由信息中使用正则表达式45

3.13 默认参数和url_for方法46

3.14 使用文字化的URL47

3.15 路由中的通配字段47

3.16 通配符的键—值对48

3.17 具名路由48

3.17.1 创建具名路由49

3.17.2 比较name_path和name_url的使用49

3.17.3 请考虑49

3.18 如何命名你的路由50

3.18.1 参数糖衣50

3.18.2 更多糖衣51

3.19 特殊的范围方法with_options51

3.20 小结52

第4章 REST,资源和Rails53

4.1 REST简介53

4.2 Rails的REST54

4.3 路由选择和CRUD54

4.4 资源和表现55

4.4.1 REST资源与Rails55

4.4.2 从具名路由到REST支持55

4.4.3 重新认识HTTP方法56

4.5 标准的REST化的控制器动作57

4.5.1 模拟PUT和DELETE操作58

4.5.2 REST化的资源的单数和复数58

4.5.3 特殊的拍档:new/create和edit/update58

4.6 单数的资源路由59

4.7 嵌套资源59

4.7.1 显式地设置:path_prefix60

4.7.2 显式地设置:name_prefix61

4.7.3 显式地设置REST化的控制器61

4.7.4 使用所有选项62

4.7.5 思考嵌套路由63

4.7.6 嵌套过深63

4.8 自定义REST化的路由64

4.8.1 添加成员路由65

4.8.2 添加集合路由65

4.8.3 思考65

4.9 仅有控制器的资源67

4.10 资源的不同展现形式68

4.10.1 respond_to方法68

4.10.2 格式化具名路由68

4.11 REST化的Rails动作集合69

4.11.1 Index69

4.11.2 Show71

4.11.3 Destory71

4.11.4 New和Create72

4.11.5 Edit和Update73

4.12 小结74

第5章 探究路由选择75

5.1 在应用程序控制台检查路由75

5.1.1 转存路由信息75

5.1.2 剖析Route对象76

5.1.3 在控制台识别和生成路由78

5.1.4 控制台的具名路由79

5.2 测试路由80

5.3 Routing Navigator插件80

5.4 小结81

第6章 运用ActiveRecord82

6.1 基础知识82

6.2 数据迁移84

6.2.1 创建迁移84

6.2.2 用于迁移的API87

6.2.3 定义列88

6.3 宏样式方法92

6.3.1 关系声明93

6.3.2 约定优于配置93

6.3.3 复数化94

6.3.4 手动设置名字95

6.3.5 遗留的命名约定95

6.4 定义属性96

6.4.1 默认属性值96

6.4.2 序列化属性98

6.5 CRUD:创建、读取、更新和删除98

6.5.1 创建新的ActiveRecord实例98

6.5.2 读取ActiveRecord对象99

6.5.3 读写属性100

6.5.4 在类型转换之前访问并且操作属性102

6.5.5 重新载入102

6.5.6 基于属性的动态查找器102

6.5.7 自定义SQL查询103

6.5.8 查询缓存104

6.5.9 更新106

6.5.10 基于条件的更新107

6.5.11 更新特定实例107

6.5.12 更新特定属性107

6.5.13 便利的更新器108

6.5.14 控制对属性的访问108

6.5.15 删除和销毁109

6.6 数据库锁定109

6.6.1 乐观锁定110

6.6.2 悲观锁定111

6.6.3 需要考虑的问题112

6.7 高级查找112

6.7.1 条件112

6.7.2 查询结果集的排序114

6.7.3 限制和偏移量114

6.7.4 select选项115

6.7.5 from选项115

6.7.6 group by选项115

6.7.7 locking选项116

6.7.8 连接和包含关联116

6.7.9 read only116

6.8 在不同的数据模型中连接多个数据库116

6.9 直接使用数据库连接117

6.9.1 DatabaseStatements模组118

6.9.2 其他连接方法119

6.10 其他配置选项120

6.11 小结121

第7章 ActiveRecord关联122

7.1 关联的继承关系122

7.2 一对多关联123

7.2.1 向集合添加已经关联的对象124

7.2.2 AssociationCollection的方法125

7.3 belongs_to关联127

7.3.1 重新载入关联127

7.3.2 通过关联来构建(build)或创建(create)相关对象128

7.3.3 belongs_to的选项128

7.4 has_many关联132

7.4.1 has_many的选项133

7.4.2 代理方法137

7.5 多对多关系138

7.5.1 has_and_belongs_to_many138

7.5.2 has_many:through143

7.5.3 has_many:through的选项146

7.6 一对一关系148

7.6.1 has_one148

7.6.2 has_one的选项150

7.7 未保存的对象和关联151

7.7.1 一对一关联151

7.7.2 集合152

7.8 关联的扩展152

7.9 AssociationProxy类153

7.10 小结154

第8章 ActiveRecord验证155

8.1 查找错误155

8.2 简单的验证声明155

8.2.1 validates_acceptance_of156

8.2.2 validates_associated156

8.2.3 validates_confirmation_of156

8.2.4 validates_each157

8.2.5 validates_inclusion_of和validates_exclusion_of157

8.2.6 validates_existence_of158

8.2.7 validates_format of158

8.2.8 validates_length_of159

8.2.9 validates_numericality_of159

8.2.10 validates_presence_of159

8.2.11 validates_uniqueness_of160

8.2.12 RecordInvalid161

8.3 通用验证选项161

8.3.1 :allow_nil161

8.3.2 :if161

8.3.3 :message161

8.3.4 :on161

8.4 条件认证162

8.5 使用Errors对象163

8.5.1 操作Errors集合163

8.5.2 Errors的检查163

8.6 自定义验证164

8.7 跳过验证164

8.8 小结165

第9章 ActiveRecord的高级技巧166

9.1 回调方法166

9.1.1 注册回调方法167

9.1.2 匹配before/after回调方法167

9.1.3 中断执行168

9.1.4 使用回调方法168

9.1.5 特殊的回调方法:after_initialize和after_find170

9.1.6 回调方法类171

9.2 观察器173

9.2.1 命名规则173

9.2.2 注册观察器174

9.2.3 时机174

9.3 单表继承(single-table inheritance,STI)174

9.3.1 将继承映射到数据库176

9.3.2 STI值得注意的几点177

9.3.3 STI和数据模型关联177

9.4 抽象数据类型的基类179

9.5 多态的has_many关系180

9.5.1 假如数据模型带有注释功能180

9.5.2 使用has_many的注意事项182

9.6 用以重用通用行为的模块182

9.6.1 回顾类的作用范围和环境184

9.6.2 Include回调方法185

9.7 在运行时修改ActiveRecord186

9.7.1 应用时的注意事项187

9.7.2 Ruby和域指定语言187

9.8 小结188

第10章 ActionView189

10.1 ERb基础189

10.1.1 ERb实践189

10.1.2 整理ERb输出191

10.1.3 ERb分隔符中的注释191

10.1.4 条件输出191

10.1.5 RHTML?RXML?RJS?191

10.2 布局和模板192

10.2.1 使用Yield生成内容193

10.2.2 模板变量194

10.2.3 针对用户提交的数据保护你的视图196

10.3 局部模板197

10.3.1 简单的使用示例197

10.3.2 重用局部模板198

10.3.3 共享局部模板198

10.3.4 给局部模板传递变量199

10.3.5 渲染数据集合200

10.3.6 日志201

10.4 缓存201

10.4.1 在开发模式下的缓存201

10.4.2 页面缓存202

10.4.3 动作缓存202

10.4.4 片段缓存203

10.4.5 缓存内容的期限205

10.4.6 使用Sweeper自动过期缓存206

10.4.7 缓存日志207

10.4.8 Action Cache插件208

10.4.9 缓存的存储208

10.5 小结209

第11章 辅助方法210

11.1 ActiveRecordHelper210

11.1.1 报告验证的错误210

11.1.2 自动创建表单212

11.1.3 自定义验证错误的高亮方式213

11.2 AssetTagHelper214

11.2.1 Head的辅助方法214

11.2.2 针对插件的辅助方法以设定默认的JavaScript文件217

11.3 BenchmarkHelper217

11.4 CacheHelper217

11.5 CapturelHelper218

11.6 DateHelper218

11.6.1 日期时间选择218

11.6.2 单个日期和时间选择辅助219

11.6.3 日期选择辅助方法的通用选项220

11.6.4 名字复杂的distance_in_time方法221

11.7 DebugHelper222

11.8 FormHelper222

11.8.1 通过表单创建Active Record模型222

11.8.2 表单辅助方法是怎样取值的?227

11.9 FormOptionsHelpers228

11.9.1 Select标签的辅助器228

11.9.2 Option标签的辅助器229

11.10 FormTagHelper232

11.11 JavaScriptHelper234

11.12 NumberHelper235

11.13 PaginationHelper236

11.13.1 will_paginate236

11.13.2 paginator237

11.13.3 Paginating Find237

11.14 RecordIdentification237

11.15 RecordTagHelper239

11.16 TagHelper239

11.17 TextHelper240

11.18 UrlHelper245

11.19 编写你自己的辅助方法249

11.19.1 小小的优化:Title辅助方法249

11.19.2 封装视图的逻辑:photo for辅助方法250

11.19.3 智能视图:breadcrumbs辅助方法250

11.20 包装并生成局部视图模板251

11.20.1 一个tiles辅助器251

11.20.2 生成局部模板253

11.21 小结255

第12章 Ajax on Rails256

12.1 Prototype257

12.1.1 FireBug257

12.1.2 Prototype API257

12.1.3 顶层函数258

12.1.4 类259

12.1.5 JavaScript的对象类的扩展259

12.1.6 扩展JavaScript的Array类260

12.1.7 扩展document对象261

12.1.8 扩展Event类261

12.1.9 扩展JavaScript的Function类263

12.1.10 扩展JavaScript的Nubmer类263

12.1.11 扩展JavaScript String类264

12.1.12 Ajax对象266

12.1.13 Ajax.Responders266

12.1.14 Enumerable267

12.1.15 Hash270

12.1.16 ObjectRange271

12.1.17 Prototype对象271

12.2 PrototypeHelper模组271

12.2.1 link_to_remote271

12.2.2 remote_form_for274

12.2.3 periodically_call_remote275

12.2.4 observe_field276

12.2.5 observe_form277

12.3 RJS—在Ruby中编写Javascript277

12.3.1 RJS模板278

12.3.2 <<(javascript)279

12.3.3 [](id)279

12.3.4 alert(message)279

12.3.5 call(function,*arguments,&block)279

12.3.6 delay(seconds=1){...}280

12.3.7 draggable(id,options={})280

12.3.8 drop_receiving(id,options={})280

12.3.9 hide(*ids)280

12.3.10 insert_html(position,id,*options_for_render)280

12.3.11 literal(code)281

12.3.12 redirect_to(location)281

12.3.13 remove(*ids)281

12.3.14 replace(id,*options_for_render)281

12.3.15 replace_html(id,*options_for_render)281

12.3.16 select(pattern)281

12.3.17 show(*ids)281

12.3.18 sortable(id,options={})282

12.3.19 toggle(*ids)282

12.3.20 visual_effect(name,id=nil,options={}282

12.4 JSON282

12.5 Drag and Drop283

12.6 Sortable285

12.7 自动完成285

12.8 可切换的编辑输入框286

12.9 小结287

第13章 Session管理288

13.1 该把什么放在session中288

13.1.1 当前用户288

13.1.2 Session使用规则289

13.2 Session属性289

13.2.1 针对机器人关闭session功能289

13.2.2 选择性开启session290

13.2.3 安全的session290

13.3 存储机制290

13.3.1 ActiveRecord存储机制291

13.3.2 PStore(基于文件的方式)291

13.3.3 DRb Session存储机制291

13.3.4 memcach存储机制292

13.3.5 关于CookieStore的争议292

13.4 超时机制和session生命周期293

13.4.1 Session超时插件294

13.4.2 跟踪活跃的session294

13.4.3 增强安全性295

13.4.4 清除陈旧的session295

13.5 Cookies295

13.6 小结296

第14章 登录与认证297

14.1 Acts as Authenticated297

14.1.1 安装与设置298

14.1.2 User数据模型298

14.1.3 Account控制器304

14.1.4 从Cooke中登录306

14.1.5 当前用户307

14.2 在登录期间测试308

14.3 小结309

第15章 XML和ActiveResource310

15.1 to_xml方法310

15.1.1 定制to_xml输出311

15.1.2 to_xml和关联性312

15.1.3 高级to_xml313

15.1.4 运行时的动态属性314

15.1.5 重载to_xml315

15.1.6 由数组的to_xml方法所学到的315

15.2 XML Builder316

15.3 解析XML318

15.3.1 将XML转换成散列318

15.3.2 XmlSimple319

15.3.3 类型转换320

15.4 ActiveResource320

15.4.1 Find321

15.4.2 Create322

15.4.3 Update324

15.4.4 Delete324

15.4.5 HTTP头信息325

15.4.6 自定义326

15.4.7 散列形式327

15.5 小结327

第16章 ActionMailer328

16.1 安装328

16.2 Mailer模型328

16.2.1 准备要发出的邮件消息329

16.2.2 HTML格式的邮件信息331

16.2.3 复合格式的信息331

16.2.4 文件附件332

16.2.5 发送邮件333

16.3 接收邮件333

16.3.1 TMail∷Mail API参考334

16.3.2 处理附件334

16.4 配置335

16.5 小结335

第17章 测试336

17.1 Rails中测试的专用术语337

17.1.1 关于独立性337

17.1.2 Rails的数据模拟337

17.1.3 真正的数据模拟和占位代码338

17.1.4 整合测试339

17.1.5 避免概念混淆339

17.2 Test∷Unit340

17.3 数据装置341

17.3.1 CSV格式的数据装置342

17.3.2 在测试中访问数据装置中的记录342

17.3.3 动态的数据装置的数据343

17.3.4 在开发模式下使用数据装置中的数据344

17.3.5 从开发数据中生成数据装置344

17.3.6 数据装置的选项345

17.3.7 大家都不喜欢数据装置345

17.3.8 数据装置其实没那么糟糕346

17.4 断言347

17.4.1 基本的断言347

17.4.2 Rails的断言349

17.4.3 一个断言配一个测试方法349

17.5 使用单元测试来测试数据模型350

17.5.1 数据模型测试基础350

17.5.2 决定测试什么352

17.6 使用功能测试来测试控制器352

17.6.1 结构和setup352

17.6.2 功能测试方法353

17.6.3 通用断言353

17.7 使用功能测试来测试视图356

17.7.1 测试RJS的行为359

17.7.2 其他选择方法359

17.7.3 测试路由规则359

17.8 Rails整合测试360

17.8.1 基础361

17.8.2 整合测试的API361

17.8.3 使用session362

17.9 和测试相关的Rake任务362

17.10 验收测试362

17.11 Selenium363

17.11.1 Selenium的基本概念363

17.11.2 开始使用Selenium364

17.11.3 RSelenese365

17.12 小结366

第18章 RSpec on Rails367

18.1 介绍RSpec367

18.1.1 Should和预期情况368

18.1.2 结果预测369

18.1.3 自定义预期情况匹配器369

18.1.4 包含多个例子的行为371

18.1.5 共享的行为372

18.1.6 RSpec的数据模拟和占位代码374

18.1.7 运行spec376

18.1.8 安装RSpec和RSpec on Rails插件378

18.2 RSpec on Rails插件378

18.2.1 代码生成器378

18.2.2 数据模型spec378

18.2.3 控制器的spec380

18.2.4 视图的spec383

18.2.5 辅助器的spec384

18.2.6 Scaffolding385

18.3 RSpec工具385

18.3.1 Autotest385

18.3.2 RCov385

18.4 小结386

第19章 用插件扩展Rails387

19.1 管理插件387

19.1.1 重用代码387

19.1.2 插件脚本389

19.1.3 Subversion和script/plugin391

19.2 使用Piston392

19.2.1 安装392

19.2.2 导入Vendor库393

19.2.3 转换现有的Vendor库393

19.2.4 更新394

19.2.5 锁定和解锁版本394

19.2.6 Piston属性394

19.3 编写自己的插件394

19.3.1 init.rb钩子395

19.3.2 lib目录396

19.3.3 扩展Rails类396

19.3.4 README和MIT-LICENSE文件397

19.3.5 install.rb和uninstall.rb文件398

19.3.6 自定义Rake任务399

19.3.7 插件的Rakefile399

19.3.8 测试插件400

19.4 小结400

第20章 Rails生产环境配置401

20.1 生产环境Rails的简史401

20.2 一些基本的先决条件402

20.3 软件集清单403

20.3.1 服务器和网络环境403

20.3.2 Web层404

20.3.3 应用程序层404

20.3.4 数据库层404

20.3.5 监控405

20.3.6 版本控制405

20.4 安装405

20.4.1 Ruby405

20.4.2 RubyGems405

20.4.3 Rails406

20.4.4 Mongrel406

20.4.5 Mongrel Cluster406

20.4.6 Nginx406

20.4.7 Subversion407

20.4.8 MySQL407

20.4.9 Monit407

20.4.10 Capistrano407

20.5 配置408

20.5.1 配置Mongrel Cluster408

20.5.2 配置Nginx408

20.5.3 配置Monit412

20.5.4 配置Capistrano414

20.6 配置init脚本414

20.6.1 Nginx init脚本414

20.6.2 Mongrel init脚本415

20.6.3 Monit配置416

20.7 部署和发布418

20.8 有关生产环境软件集的其他注意点418

20.8.1 冗余和失效转移418

20.8.2 缓存418

20.8.3 性能和可扩展性418

20.8.4 安全419

20.8.5 可维护性419

20.9 结论419

第21章 Capistrano421

21.1 Capistrano概述421

21.1.1 术语421

21.1.2 基础知识422

21.1.3 Capistrano做了什么,没做什么423

21.2 入门423

21.2.1 安装423

21.2.2 “Capify”你的Rails应用程序423

21.2.3 配置部署425

21.2.4 一些茧合脚本425

21.2.5 设置部署目标服务器426

21.2.6 部署!427

21.3 重载Capistrano的默认假定427

21.3.1 使用远程用户账号428

21.3.2 定制Capistrano使用的源代码管理系统(SCM)428

21.3.3 部署目标服务器不能访问源代码管理系统(SCM)428

21.3.4 如果我不把database.yml放在源代码库中428

21.3.5 如果我的数据迁移不能从0运行到100430

21.4 实用的Capistrano策略431

21.4.1 变量和它们的有效范围431

21.4.2 练习#1:Staging432

21.4.3 练习#2:管理其他服务434

21.5 多服务器部署435

21.6 事务处理436

21.7 代理访问部署目标服务器437

21.8 小结438

第22章 后台进程439

22.1 script/runner439

22.1.1 入门440

22.1.2 用法说明440

22.1.3 script/runner的考虑441

22.2 DRb441

22.2.1 一个简单的DRb服务441

22.2.2 在Rails中使用DRb442

22.2.3 DRb的考虑442

22.2.4 资源442

22.3 BackgrounDRb443

22.3.1 入门443

22.3.2 配置443

22.3.3 理解BackgrounDRb444

22.3.4 使用中间人444

22.3.5 警告445

22.3.6 BackGrounDRb的考虑446

22.4 Daemons446

22.4.1 用法446

22.4.2 线程介绍447

22.4.3 Daemon的考虑448

22.5 小结449

附录A ActiveSupport API参考450

附录B Rails概要498

热门推荐