注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)網(wǎng)絡(luò)編程Rails之道

Rails之道

Rails之道

定 價(jià):¥89.00

作 者: (美)費(fèi)爾南德斯 著,Ruby on Rails中文社區(qū) 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 網(wǎng)站開發(fā)

ISBN: 9787115220721 出版時(shí)間: 2010-04-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 504 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Rails之道》按照Rails的各個(gè)子系統(tǒng)進(jìn)行組織編排,分別介紹了Rails的環(huán)境、初始過程、配置和日志記錄,Rails的分配器、控制器、頁(yè)面生成和路由,REST、資源和Rails,ActiveRecord的基礎(chǔ)、關(guān)聯(lián)、驗(yàn)證和高級(jí)技巧,ActionView的模板、緩存和幫助器,Ajax、Prototype和Scriptaculous等JavaScript代碼庫(kù)和RJS,Session管理、用戶登錄和認(rèn)證系統(tǒng),XML和ActiveResource,后臺(tái)處理和ActionMaile,測(cè)試和specs(包括RSpec on Rails和Selenium),安裝、管理、編寫插件,Rails的生產(chǎn)部署、配置和Capistrano等內(nèi)容?!禦ails之道》詳細(xì)討論了Rails的程序代碼并通過分析Rails中的代碼片段來(lái)深入解釋它的功能,同時(shí),《Rails之道》部分章節(jié)也摘錄了一些API文檔中的內(nèi)容,使讀者能夠快速地找到對(duì)應(yīng)的API文檔、相關(guān)的示例代碼以及深入的解析說(shuō)明?!禦ails之道》是Rails的權(quán)威參考書,適合對(duì)Rails已經(jīng)有一定了解的開發(fā)人員學(xué)習(xí)和使用。

作者簡(jiǎn)介

  Obie Fernandez是一位廣為人知的技術(shù)行業(yè)領(lǐng)袖和獨(dú)立咨詢師。從20世紀(jì)80年代獲得第一臺(tái)Commodore VIC-20開始,他就一直在從事各種黑客工作。20世紀(jì)90年代中期,他終于找到了自己的位置,成為第一代Java企業(yè)項(xiàng)目的編程師。他于1998年移居到美國(guó)喬治亞州亞特蘭大市,并作為當(dāng)?shù)匦屡d企業(yè)MediaOcean的首席架構(gòu)師而聞名。他還成立了Extreme Programming(后改名為Agile Atlanta)用戶社團(tuán),并在該社團(tuán)擔(dān)任了幾年的主席和組織人。

圖書目錄

第1章 Rails環(huán)境與配置 1
1.1 啟動(dòng) 1
1.1.1 默認(rèn)環(huán)境設(shè)置 1
1.1.2 引導(dǎo) 2
1.1.3 RubyGems 3
1.1.4 初始化 4
1.1.5 默認(rèn)加載路徑 4
1.1.6 Rails模組及代碼自動(dòng)加載 5
1.1.7 內(nèi)置的Rails信息 5
1.1.8 配置 6
1.1.9 附加配置 8
1.2 開發(fā)模式 8
1.2.1 類文件自動(dòng)化重新加載 9
1.2.2 Rails類加載器 9
1.3 測(cè)試模式 10
1.4 生產(chǎn)模式 11
1.5 日志器 11
1.5.1 Rails日志文件 12
1.5.2 日志分析 13
1.5.3 Syslog 15
1.6 總結(jié) 15
第2章 運(yùn)用控制器 16
2.1 調(diào)度器:從這里開始 16
2.1.1 接收請(qǐng)求 17
2.1.2 和調(diào)度器親密接觸 17
2.2 渲染視圖 18
2.2.1 何時(shí)開始渲染 19
2.2.2 指定渲染 19
2.2.3 渲染其他動(dòng)作的模板 19
2.2.4 渲染一個(gè)完全不同的模板 20
2.2.5 渲染局部模板 20
2.2.6 渲染內(nèi)聯(lián)模板代碼 21
2.2.7 渲染文本 21
2.2.8 渲染其他類型的數(shù)據(jù)結(jié)構(gòu) 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 過濾器的隊(duì)列的順序 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服務(wù)器發(fā)送文件 33
2.7 小結(jié) 33
第3章 路由 34
3.1 路由的兩個(gè)目的 35
3.2 綁定參數(shù) 35
3.3 使用通配符(“接收器”) 36
3.4 靜態(tài)字符串 37
3.5 route.rb文件 38
3.5.1 默認(rèn)的路由信息 39
3.5.2 聚焦在:id字段 40
3.5.3 默認(rèn)的路由生成規(guī)則 40
3.5.4 修改默認(rèn)的路由信息 41
3.6 默認(rèn)路由信息之前的信息和respond_to 41
3.7 空的路由信息 42
3.8 編寫自定義路由規(guī)則 43
3.9 使用靜態(tài)字符串 43
3.10 使用你自己的“接收器” 44
3.11 關(guān)于路由次序的說(shuō)明 45
3.12 在路由信息中使用正則表達(dá)式 45
3.13 默認(rèn)參數(shù)和url_for方法 46
3.14 使用文字化的URL 47
3.15 路由中的通配字段 47
3.16 通配符的鍵——值對(duì) 48
3.17 具名路由 48
3.17.1 創(chuàng)建具名路由 49
3.17.2 比較name_path和name_url的使用 49
3.17.3 請(qǐng)考慮 49
3.18 如何命名你的路由 50
3.18.1 參數(shù)糖衣 50
3.18.2 更多糖衣 51
3.19 特殊的范圍方法with_options 51
3.20 小結(jié) 52
第4章 REST,資源和Rails 53
4.1 REST簡(jiǎn)介 53
4.2 Rails的REST 54
4.3 路由選擇和CRUD 54
4.4 資源和表現(xiàn) 55
4.4.1 REST資源與Rails 55
4.4.2 從具名路由到REST支持 55
4.4.3 重新認(rèn)識(shí)HTTP方法 56
4.5 標(biāo)準(zhǔn)的REST化的控制器動(dòng)作 57
4.5.1 模擬PUT和DELETE操作 58
4.5.2 REST化的資源的單數(shù)和復(fù)數(shù) 58
4.5.3 特殊的拍檔:new/create和edit/update 58
4.6 單數(shù)的資源路由 59
4.7 嵌套資源 59
4.7.1 顯式地設(shè)置:path_prefix 60
4.7.2 顯式地設(shè)置:name_prefix 61
4.7.3 顯式地設(shè)置REST化的控制器 61
4.7.4 使用所有選項(xiàng) 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 資源的不同展現(xiàn)形式 68
4.10.1 respond_to方法 68
4.10.2 格式化具名路由 68
4.11 REST化的Rails動(dòng)作集合 69
4.11.1 Index 69
4.11.2 Show 71
4.11.3 Destory 71
4.11.4 New和Create 72
4.11.5 Edit和Update 73
4.12 小結(jié) 74
第5章 探究路由選擇 75
5.1 在應(yīng)用程序控制臺(tái)檢查路由 75
5.1.1 轉(zhuǎn)存路由信息 75
5.1.2 剖析Route對(duì)象 76
5.1.3 在控制臺(tái)識(shí)別和生成路由 78
5.1.4 控制臺(tái)的具名路由 79
5.2 測(cè)試路由 80
5.3 Routing Navigator插件 80
5.4 小結(jié) 81
第6章 運(yùn)用ActiveRecord 82
6.1 基礎(chǔ)知識(shí) 82
6.2 數(shù)據(jù)遷移 84
6.2.1 創(chuàng)建遷移 84
6.2.2 用于遷移的API 87
6.2.3 定義列 88
6.3 宏樣式方法 92
6.3.1 關(guān)系聲明 93
6.3.2 約定優(yōu)于配置 93
6.3.3 復(fù)數(shù)化 94
6.3.4 手動(dòng)設(shè)置名字 95
6.3.5 遺留的命名約定 95
6.4 定義屬性 96
6.4.1 默認(rèn)屬性值 96
6.4.2 序列化屬性 98
6.5 CRUD:創(chuàng)建、讀取、更新和刪除 98
6.5.1 創(chuàng)建新的ActiveRecord實(shí)例 98
6.5.2 讀取ActiveRecord對(duì)象 99
6.5.3 讀寫屬性 100
6.5.4 在類型轉(zhuǎn)換之前訪問并且操作屬性 102
6.5.5 重新載入 102
6.5.6 基于屬性的動(dòng)態(tài)查找器 102
6.5.7 自定義SQL查詢 103
6.5.8 查詢緩存 104
6.5.9 更新 106
6.5.10 基于條件的更新 107
6.5.11 更新特定實(shí)例 107
6.5.12 更新特定屬性 107
6.5.13 便利的更新器 108
6.5.14 控制對(duì)屬性的訪問 108
6.5.15 刪除和銷毀 109
6.6 數(shù)據(jù)庫(kù)鎖定 109
6.6.1 樂觀鎖定 110
6.6.2 悲觀鎖定 111
6.6.3 需要考慮的問題 112
6.7 高級(jí)查找 112
6.7.1 條件 112
6.7.2 查詢結(jié)果集的排序 114
6.7.3 限制和偏移量 114
6.7.4 select選項(xiàng) 115
6.7.5 from選項(xiàng) 115
6.7.6 group by選項(xiàng) 115
6.7.7 locking選項(xiàng) 116
6.7.8 連接和包含關(guān)聯(lián) 116
6.7.9 read only 116
6.8 在不同的數(shù)據(jù)模型中連接多個(gè)數(shù)據(jù)庫(kù) 116
6.9 直接使用數(shù)據(jù)庫(kù)連接 117
6.9.1 DatabaseStatements模組 118
6.9.2 其他連接方法 119
6.10 其他配置選項(xiàng) 120
6.11 小結(jié) 121
第7章 ActiveRecord關(guān)聯(lián) 122
7.1 關(guān)聯(lián)的繼承關(guān)系 122
7.2 一對(duì)多關(guān)聯(lián) 123
7.2.1 向集合添加已經(jīng)關(guān)聯(lián)的對(duì)象 124
7.2.2 AssociationCollection的方法 125
7.3 belongs_to關(guān)聯(lián) 127
7.3.1 重新載入關(guān)聯(lián) 127
7.3.2 通過關(guān)聯(lián)來(lái)構(gòu)建(build)或創(chuàng)建(create)相關(guān)對(duì)象 128
7.3.3 belongs_to的選項(xiàng) 128
7.4 has_many關(guān)聯(lián) 132
7.4.1 has_many的選項(xiàng) 133
7.4.2 代理方法 137
7.5 多對(duì)多關(guān)系 138
7.5.1 has_and_belongs_to_many 138
7.5.2 has_many :through 143
7.5.3 has_many :through的選項(xiàng) 146
7.6 一對(duì)一關(guān)系 148
7.6.1 has_one 148
7.6.2 has_one的選項(xiàng) 150
7.7 未保存的對(duì)象和關(guān)聯(lián) 151
7.7.1 一對(duì)一關(guān)聯(lián) 151
7.7.2 集合 152
7.8 關(guān)聯(lián)的擴(kuò)展 152
7.9 AssociationProxy類 153
7.10 小結(jié) 154
第8章 ActiveRecord驗(yàn)證 155
8.1 查找錯(cuò)誤 155
8.2 簡(jiǎn)單的驗(yàn)證聲明 155
8.2.1 validates_acceptance_of 156
8.2.2 validates_associated 156
8.2.3 validates_confirmation_of 156
8.2.4 validates_each 157
8.2.5 validates_inclusion_of和validates_exclusion_of 157
8.2.6 validates_existence_of 158
8.2.7 validates_format_of 158
8.2.8 validates_length_of 159
8.2.9 validates_numericality_of 159
8.2.10 validates_presence_of 159
8.2.11 validates_uniqueness_of 160
8.2.12 RecordInvalid 161
8.3 通用驗(yàn)證選項(xiàng) 161
8.3.1 :allow_nil 161
8.3.2 :if 161
8.3.3 :message 161
8.3.4 :on 161
8.4 條件認(rèn)證 162
8.5 使用Errors對(duì)象 163
8.5.1 操作Errors集合 163
8.5.2 Errors的檢查 163
8.6 自定義驗(yàn)證 164
8.7 跳過驗(yàn)證 164
8.8 小結(jié) 165
第9章 ActiveRecord的高級(jí)技巧 166
9.1 回調(diào)方法 166
9.1.1 注冊(cè)回調(diào)方法 167
9.1.2 匹配before/after回調(diào)方法 167
9.1.3 中斷執(zhí)行 168
9.1.4 使用回調(diào)方法 168
9.1.5 特殊的回調(diào)方法:after_initialize和after_find 170
9.1.6 回調(diào)方法類 171
9.2 觀察器 173
9.2.1 命名規(guī)則 173
9.2.2 注冊(cè)觀察器 174
9.2.3 時(shí)機(jī) 174
9.3 單表繼承(single-table inheritance,STI) 174
9.3.1 將繼承映射到數(shù)據(jù)庫(kù) 176
9.3.2 STI值得注意的幾點(diǎn) 177
9.3.3 STI和數(shù)據(jù)模型關(guān)聯(lián) 177
9.4 抽象數(shù)據(jù)類型的基類 179
9.5 多態(tài)的has_many關(guān)系 180
9.5.1 假如數(shù)據(jù)模型帶有注釋功能 180
9.5.2 使用has_many的注意事項(xiàng) 182
9.6 用以重用通用行為的模塊 182
9.6.1 回顧類的作用范圍和環(huán)境 184
9.6.2 Include回調(diào)方法 185
9.7 在運(yùn)行時(shí)修改ActiveRecord 186
9.7.1 應(yīng)用時(shí)的注意事項(xiàng) 187
9.7.2 Ruby和域指定語(yǔ)言 187
9.8 小結(jié) 188
第10章 ActionView 189
10.1 ERb基礎(chǔ) 189
10.1.1 ERb實(shí)踐 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生成內(nèi)容 193
10.2.2 模板變量 194
10.2.3 針對(duì)用戶提交的數(shù)據(jù)保護(hù)你的視圖 196
10.3 局部模板 197
10.3.1 簡(jiǎn)單的使用示例 197
10.3.2 重用局部模板 198
10.3.3 共享局部模板 198
10.3.4 給局部模板傳遞變量 199
10.3.5 渲染數(shù)據(jù)集合 200
10.3.6 日志 201
10.4 緩存 201
10.4.1 在開發(fā)模式下的緩存 201
10.4.2 頁(yè)面緩存 202
10.4.3 動(dòng)作緩存 202
10.4.4 片段緩存 203
10.4.5 緩存內(nèi)容的期限 205
10.4.6 使用Sweeper自動(dòng)過期緩存 206
10.4.7 緩存日志 207
10.4.8 Action Cache插件 208
10.4.9 緩存的存儲(chǔ) 208
10.5 小結(jié) 209
第11章 輔助方法 210
11.1 ActiveRecordHelper 210
11.1.1 報(bào)告驗(yàn)證的錯(cuò)誤 210
11.1.2 自動(dòng)創(chuàng)建表單 212
11.1.3 自定義驗(yàn)證錯(cuò)誤的高亮方式 213
11.2 AssetTagHelper 214
11.2.1 Head的輔助方法 214
11.2.2 針對(duì)插件的輔助方法以設(shè)定默認(rèn)的JavaScript文件 217
11.3 BenchmarkHelper 217
11.4 CacheHelper 217
11.5 CapturelHelper 218
11.6 DateHelper 218
11.6.1 日期時(shí)間選擇 218
11.6.2 單個(gè)日期和時(shí)間選擇輔助 219
11.6.3 日期選擇輔助方法的通用選項(xiàng) 220
11.6.4 名字復(fù)雜的distance_in_time方法 221
11.7 DebugHelper 222
11.8 FormHelper 222
11.8.1 通過表單創(chuàng)建Active Record模型 222
11.8.2 表單輔助方法是怎樣取值的? 227
11.9 FormOptionsHelpers 228
11.9.1 Select標(biāo)簽的輔助器 228
11.9.2 Option標(biāo)簽的輔助器 229
11.10 FormTagHelper 232
11.11 JavaScriptHelper 234
11.12 NumberHelper 235
11.13 PaginationHelper 236
11.13.1 will_paginate 236
11.13.2 paginator 237
11.13.3 Paginating Find 237
11.14 RecordIdentification 237
11.15 RecordTagHelper 239
11.16 TagHelper 239
11.17 TextHelper 240
11.18 UrlHelper 245
11.19 編寫你自己的輔助方法 249
11.19.1 小小的優(yōu)化:Title輔助方法 249
11.19.2 封裝視圖的邏輯:photo_for輔助方法 250
11.19.3 智能視圖:breadcrumbs輔助方法 250
11.20 包裝并生成局部視圖模板 251
11.20.1 一個(gè)tiles輔助器 251
11.20.2 生成局部模板 253
11.21 小結(jié) 255
第12章 Ajax on Rails 256
12.1 Prototype 257
12.1.1 FireBug 257
12.1.2 Prototype API 257
12.1.3 頂層函數(shù) 258
12.1.4 類 259
12.1.5 JavaScript的對(duì)象類的擴(kuò)展 259
12.1.6 擴(kuò)展JavaScript的Array類 260
12.1.7 擴(kuò)展document對(duì)象 261
12.1.8 擴(kuò)展Event類 261
12.1.9 擴(kuò)展JavaScript的Function類 263
12.1.10 擴(kuò)展JavaScript的Nubmer類 263
12.1.11 擴(kuò)展JavaScript String類 264
12.1.12 Ajax對(duì)象 266
12.1.13 Ajax.Responders 266
12.1.14 Enumerable 267
12.1.15 Hash 270
12.1.16 ObjectRange 271
12.1.17 Prototype 對(duì)象 271
12.2 PrototypeHelper模組 271
12.2.1 link_to_remote 271
12.2.2 remote_form_for 274
12.2.3 periodically_call_remote 275
12.2.4 observe_field 276
12.2.5 observe_form 277
12.3 RJS——在Ruby中編寫Javascript 277
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 JSON 282
12.5 Drag and Drop 283
12.6 Sortable 285
12.7 自動(dòng)完成 285
12.8 可切換的編輯輸入框 286
12.9 小結(jié) 287
第13章 Session管理 288
13.1 該把什么放在session中 288
13.1.1 當(dāng)前用戶 288
13.1.2 Session使用規(guī)則 289
13.2 Session屬性 289
13.2.1 針對(duì)機(jī)器人關(guān)閉session功能 289
13.2.2 選擇性開啟session 290
13.2.3 安全的session 290
13.3 存儲(chǔ)機(jī)制 290
13.3.1 ActiveRecord存儲(chǔ)機(jī)制 291
13.3.2 PStore(基于文件的方式) 291
13.3.3 DRb Session存儲(chǔ)機(jī)制 291
13.3.4 memcach存儲(chǔ)機(jī)制 292
13.3.5 關(guān)于CookieStore的爭(zhēng)議 292
13.4 超時(shí)機(jī)制和session生命周期 293
13.4.1 Session超時(shí)插件 294
13.4.2 跟蹤活躍的session 294
13.4.3 增強(qiáng)安全性 295
13.4.4 清除陳舊的session 295
13.5 Cookies 295
13.6 小結(jié) 296
第14章 登錄與認(rèn)證 297
14.1 Acts as Authenticated 297
14.1.1 安裝與設(shè)置 298
14.1.2 User數(shù)據(jù)模型 298
14.1.3 Account控制器 304
14.1.4 從Cookie中登錄 306
14.1.5 當(dāng)前用戶 307
14.2 在登錄期間測(cè)試 308
14.3 小結(jié) 309
第15章 XML和ActiveResource 310
15.1 to_xml方法 310
15.1.1 定制to_xml輸出 311
15.1.2 to_xml和關(guān)聯(lián)性 312
15.1.3 高級(jí)to_xml 313
15.1.4 運(yùn)行時(shí)的動(dòng)態(tài)屬性 314
15.1.5 重載to_xml 315
15.1.6 由數(shù)組的to_xml方法所學(xué)到的 315
15.2 XML Builder 316
15.3 解析XML 318
15.3.1 將XML轉(zhuǎn)換成散列 318
15.3.2 XmlSimple 319
15.3.3 類型轉(zhuǎn)換 320
15.4 ActiveResource 320
15.4.1 Find 321
15.4.2 Create 322
15.4.3 Update 324
15.4.4 Delete 324
15.4.5 HTTP頭信息 325
15.4.6 自定義 326
15.4.7 散列形式 327
15.5 小結(jié) 327
第16章 ActionMailer 328
16.1 安裝 328
16.2 Mailer模型 328
16.2.1 準(zhǔn)備要發(fā)出的郵件消息 329
16.2.2 HTML格式的郵件信息 331
16.2.3 復(fù)合格式的信息 331
16.2.4 文件附件 332
16.2.5 發(fā)送郵件 333
16.3 接收郵件 333
16.3.1 TMail::Mail API參考 334
16.3.2 處理附件 334
16.4 配置 335
16.5 小結(jié) 335
第17章 測(cè)試 336
17.1 Rails中測(cè)試的專用術(shù)語(yǔ) 337
17.1.1 關(guān)于獨(dú)立性… 337
17.1.2 Rails的數(shù)據(jù)模擬 337
17.1.3 真正的數(shù)據(jù)模擬和占位代碼 338
17.1.4 整合測(cè)試 339
17.1.5 避免概念混淆 339
17.2 Test::Unit 340
17.3 數(shù)據(jù)裝置 341
17.3.1 CSV格式的數(shù)據(jù)裝置 342
17.3.2 在測(cè)試中訪問數(shù)據(jù)裝置中的記錄 342
17.3.3 動(dòng)態(tài)的數(shù)據(jù)裝置的數(shù)據(jù) 343
17.3.4 在開發(fā)模式下使用數(shù)據(jù)裝置中的數(shù)據(jù) 344
17.3.5 從開發(fā)數(shù)據(jù)中生成數(shù)據(jù)裝置 344
17.3.6 數(shù)據(jù)裝置的選項(xiàng) 345
17.3.7 大家都不喜歡數(shù)據(jù)裝置 345
17.3.8 數(shù)據(jù)裝置其實(shí)沒那么糟糕 346
17.4 斷言 347
17.4.1 基本的斷言 347
17.4.2 Rails的斷言 349
17.4.3 一個(gè)斷言配一個(gè)測(cè)試方法 349
17.5 使用單元測(cè)試來(lái)測(cè)試數(shù)據(jù)模型 350
17.5.1 數(shù)據(jù)模型測(cè)試基礎(chǔ) 350
17.5.2 決定測(cè)試什么 352
17.6 使用功能測(cè)試來(lái)測(cè)試控制器 352
17.6.1 結(jié)構(gòu)和setup 352
17.6.2 功能測(cè)試方法 353
17.6.3 通用斷言 353
17.7 使用功能測(cè)試來(lái)測(cè)試視圖 356
17.7.1 測(cè)試RJS的行為 359
17.7.2 其他選擇方法 359
17.7.3 測(cè)試路由規(guī)則 359
17.8 Rails整合測(cè)試 360
17.8.1 基礎(chǔ) 361
17.8.2 整合測(cè)試的API 361
17.8.3 使用session 362
17.9 和測(cè)試相關(guān)的Rake任務(wù) 362
17.10 驗(yàn)收測(cè)試 362
17.11 Selenium 363
17.11.1 Selenium的基本概念 363
17.11.2 開始使用Selenium 364
17.11.3 RSelenese 365
17.12 小結(jié) 366
第18章 RSpec on Rails 367
18.1 介紹RSpec 367
18.1.1 Should和預(yù)期情況 368
18.1.2 結(jié)果預(yù)測(cè) 369
18.1.3 自定義預(yù)期情況匹配器 369
18.1.4 包含多個(gè)例子的行為 371
18.1.5 共享的行為 372
18.1.6 RSpec的數(shù)據(jù)模擬和占位代碼 374
18.1.7 運(yùn)行spec 376
18.1.8 安裝RSpec和RSpec on Rails插件 378
18.2 RSpec on Rails插件 378
18.2.1 代碼生成器 378
18.2.2 數(shù)據(jù)模型spec 378
18.2.3 控制器的spec 380
18.2.4 視圖的spec 383
18.2.5 輔助器的spec 384
18.2.6 Scaffolding 385
18.3 RSpec工具 385
18.3.1 Autotest 385
18.3.2 RCov 385
18.4 小結(jié) 386
第19章 用插件擴(kuò)展Rails 387
19.1 管理插件 387
19.1.1 重用代碼 387
19.1.2 插件腳本 388
19.1.3 Subversion和script/plugin 391
19.2 使用Piston 392
19.2.1 安裝 392
19.2.2 導(dǎo)入Vendor庫(kù) 393
19.2.3 轉(zhuǎn)換現(xiàn)有的Vendor庫(kù) 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 擴(kuò)展Rails類 396
19.3.4 README和MIT-LICENSE文件 397
19.3.5 install.rb和uninstall.rb文件 398
19.3.6 自定義Rake任務(wù) 399
19.3.7 插件的Rakefile 399
19.3.8 測(cè)試插件 400
19.4 小結(jié) 400
第20章 Rails生產(chǎn)環(huán)境配置 401
20.1 生產(chǎn)環(huán)境Rails的簡(jiǎn)史 401
20.2 一些基本的先決條件 402
20.3 軟件集清單 403
20.3.1 服務(wù)器和網(wǎng)絡(luò)環(huán)境 403
20.3.2 Web層 404
20.3.3 應(yīng)用程序?qū)?404
20.3.4 數(shù)據(jù)庫(kù)層 404
20.3.5 監(jiān)控 405
20.3.6 版本控制 405
20.4 安裝 405
20.4.1 Ruby 405
20.4.2 RubyGems 405
20.4.3 Rails 406
20.4.4 Mongrel 406
20.4.5 Mongrel Cluster 406
20.4.6 Nginx 406
20.4.7 Subversion 407
20.4.8 MySQL 407
20.4.9 Monit 407
20.4.10 Capistrano 407
20.5 配置 408
20.5.1 配置Mongrel Cluster 408
20.5.2 配置Nginx 408
20.5.3 配置Monit 412
20.5.4 配置Capistrano 414
20.6 配置init腳本 414
20.6.1 Nginx init腳本 414
20.6.2 Mongrel init腳本 415
20.6.3 Monit配置 416
20.7 部署和發(fā)布 418
20.8 有關(guān)生產(chǎn)環(huán)境軟件集的其他注意點(diǎn) 418
20.8.1 冗余和失效轉(zhuǎn)移 418
20.8.2 緩存 418
20.8.3 性能和可擴(kuò)展性 418
20.8.4 安全 419
20.8.5 可維護(hù)性 419
20.9 結(jié)論 419
第21章 Capistrano 421
21.1 Capistrano 概述 421
21.1.1 術(shù)語(yǔ) 421
21.1.2 基礎(chǔ)知識(shí) 422
21.1.3 Capistrano做了什么,沒做什么 423
21.2 入門 423
21.2.1 安裝 423
21.2.2 “Capify”你的Rails應(yīng)用程序 423
21.2.3 配置部署 425
21.2.4 一些繭合腳本 425
21.2.5 設(shè)置部署目標(biāo)服務(wù)器 426
21.2.6 部署! 427
21.3 重載Capistrano的默認(rèn)假定 427
21.3.1 使用遠(yuǎn)程用戶賬號(hào) 428
21.3.2 定制Capistrano使用的源代碼管理系統(tǒng)(SCM) 428
21.3.3 部署目標(biāo)服務(wù)器不能訪問源代碼管理系統(tǒng)(SCM) 428
21.3.4 如果我不把database.yml放在源代碼庫(kù)中 428
21.3.5 如果我的數(shù)據(jù)遷移不能從0運(yùn)行到100 430
21.4 實(shí)用的Capistrano策略 431
21.4.1 變量和它們的有效范圍 431
21.4.2 練習(xí)#1:Staging 432
21.4.3 練習(xí)#2:管理其他服務(wù) 434
21.5 多服務(wù)器部署 435
21.6 事務(wù)處理 436
21.7 代理訪問部署目標(biāo)服務(wù)器 437
21.8 小結(jié) 438
第22章 后臺(tái)進(jìn)程 439
22.1 script/runner 439
22.1.1 入門 440
22.1.2 用法說(shuō)明 440
22.1.3 script/runner的考慮 441
22.2 DRb 441
22.2.1 一個(gè)簡(jiǎn)單的DRb服務(wù) 441
22.2.2 在Rails中使用DRb 442
22.2.3 DRb的考慮 442
22.2.4 資源 442
22.3 BackgrounDRb 443
22.3.1 入門 443
22.3.2 配置 443
22.3.3 理解BackgrounDRb 444
22.3.4 使用中間人 444
22.3.5 警告 445
22.3.6 BackGrounDRb的考慮 446
22.4 Daemons 446
22.4.1 用法 446
22.4.2 線程介紹 447
22.4.3 Daemon的考慮 448
22.5 小結(jié) 449
附錄A ActiveSupport API參考 450
附錄B Rails概要 498

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)