圖靈程序設計叢書:Ruby on Rails教程(第4版)

圖靈程序設計叢書:Ruby on Rails教程(第4版)

作者: 邁克爾·哈特爾 (Michael Hartl)
出版社: 人民郵電
出版在: 2017-09-01
ISBN-13: 9787115466402
ISBN-10: 7115466408
裝訂格式: 平裝
總頁數: 531 頁




內容描述


《Ruby on Rails 教程 第4版》系統地介紹瞭如何用Rails構建Web應用。具體內容包括:Ruby、Rail、HTML、CSS、數據庫、版本控制、測試以及部署的基本知識。本書大大降低了初學者的門檻,被讀者和很多程序員譽為“Rails入門聖經”。


目錄大綱


第1章從零開始,完成一次部署1 
1.1簡介3 
1.1.1預備知識3 
1.1.2排版約定5 
1.2搭建環境6 
1.2.1開發環境6 
1.2.2安裝Rails9 
1.3第一個應用9 
1.3.1Bundler12 
1.3.2railsserver16 
1.3.3模型—視圖—控制器19 
1.3.4Hello,world!20 
1.4使用Git做版本控制23 
1.4.1安裝和設置23 
1.4.2使用Git的好處24 
1.4.3Bitbucket25 
1.4.4分支、編輯、提交、合併28 
1.5部署32 
1.5.1搭建Heroku部署環境32 
1.5. 2Heroku部署第一步34 
1.5.3Heroku部署第二步34 
1.5.4Heroku命令35 
1.6小結35 
第2章玩具應用37 
2.1規劃應用37 
2.1.1User模型40 
2.1.2Micropost模型40 
2.2Users資源41 
2.2.1瀏覽用戶相關的頁面42 
2.2.2MVC實戰47 
2.2.3Users資源的不足52
2.3Microposts資源52 
2.3.1概覽Microposts資源52 
2.3.2限制微博的長度56 
2.3.3一個用戶擁有多篇微博57 
2.3.4繼承體系60 
2.3.5部署這個玩具應用62 
2.4小結63 
第3章基本靜態的頁面65 
3.1創建演示應用65 
3.2靜態頁面69 
3.2.1生成靜態頁面69 
3.2.2修改靜態頁面中的內容75 
3.3開始測試77 
3.3.1第一個測試78 
3.3.2遇紅79 
3.3.3變綠80 
3.3.4重構82 
3.4有點動態內容的頁面82 
3.4.1測試標題(遇紅)83 
3.4.2添加頁面標題(變綠)84 
3.4.3佈局和嵌入式Ruby(重構)87 
3.4.4設置根路由92 
3.5小結94 
3.6高級測試技術95 
3.6.1MiniTest報告程序95 
3.6.2使用Guard自動測試96 
第4章Rails背後的Ruby102 
4.1導言102 
4.1.1內置的輔助方法102 
4.1.2自定義輔助方法103 
4.2字符串和方法105 
4.2.1註釋106
4.2.2字符串107 
4.2.3對象和消息傳送109 
4.2.4定義方法111 
4.2.5回顧標題的輔助方法112 
4.3其他數據結構113 
4.3.1數組和值域113 
4.3.2塊116 
4.3.3散列和符號118 
4.3.4重溫引入CSS的代碼122 
4.4Ruby類123 
4.4.1構造方法123 
4.4.2類的繼承124 
4.4.3修改內置的類126 
4.4.4控制器類128 
4.4.5User類130 
4.5小結131 
第5章完善佈局133 
5.1添加一些結構133 
5.1.1網站導航134 
5.1.2Bootstrap和自定義的CSS140 
5.1.3局部視圖145 
5.2Sass和AssetPipeline150 
5.2.1AssetPipeline150 
5.2.2句法強大的樣式表151 
5.3佈局中的鏈接157 
5.3.1”聯繫”頁面158 
5.3.2Rails路由159 
5.3.3使用具名路由161 
5.3.4佈局中鏈接的測試163 
5.4用戶註冊:第一步166 
5.4.1Users控制器166
5.4.2”註冊”頁面的URL168 
5.5小結170 
第6章用戶建模172 
6.1User模型172 
6.1.1數據庫遷移173 
6.1.2模型文件177 
6.1.3創建用戶對象178 
6.1.4查找用戶對象180 
6.1 .5更新用戶對象181 
6.2驗證用戶數據182 
6.2.1有效性測試183 
6.2.2存在性驗證184 
6.2.3長度驗證187 
6.2.4格式驗證188 
6.2.5僅有性驗證193 
6.3添加安全密碼198 
6.3.1計算密碼哈希值199 
6.3.2用戶有安全的密碼200 
6.3.3密碼的最短長度202 
6.3.4創建並驗證用戶的身份203 
6.4小結205 
第7章註冊207 
7.1顯示用戶的信息207 
7.1.1調試信息和Rails環境209 
7.1.2Users資源212 
7.1.3調試器216 
7.1.4Gravatar頭像和側邊欄217 
7.2註冊表單222 
7.2.1使用form_for223 
7.2.2註冊表單的HTML225 
7.3註冊失敗228 
7.3 .1可正常使用的表單229
7.3.2健壯參數231 
7.3.3註冊失敗錯誤消息233 
7.3.4註冊失敗的測試237 
7.4註冊成功240 
7.4.1完整的註冊表單241 
7.4.2閃現消息242 
7.4.3首次註冊244 
7.4.4註冊成功的測試246 
7.5專業部署方案248 
7.5.1在生產環境中使用SSL249 
7.5.2生產環境中的Web服務器249 
7.5.3部署到生產環境250 
7.6小結252 
第8章基本登錄功能253 
8.1會話253 
8.1 .1Sessions控制器254 
8.1.2登錄表單256 
8.1.3查找並驗證用戶的身份259 
8.1.4渲染閃現消息261 
8.1.5測試閃現消息263 
8.2登錄265 
8.2.1log_in方法265 
8.2.2當前用戶267 
8.2 .3修改佈局中的鏈接270 
8.2.4測試佈局中的變化274 
8.2.5註冊後直接登錄277 
8.3退出279 
8.4小結281 
第9章高級登錄功能283 
9.1記住我283 
9.1.1記憶令牌和記憶摘要283 
9.1.2登錄時記住登錄狀態288
9.1.3忘記用戶295 
9.1.4兩個小問題296 
9.2“記住我”複選框300 
9.3測試“記住我”功能305 
9.3.1測試“記住我”複選框305 
9.3.2測試“記住”分支309 
9.4小結312 
第10章更新、顯示和刪除用戶314 
10.1更新用戶314 
10.1.1編輯表單314 
10.1.2編輯失敗320 
10.1.3編輯失敗的測試322 
10.1.4編輯成功(使用TDD)323 
10.2權限系統326 
10.2.1必須先登錄327 
10.2.2用戶只能編輯自己的資料331 
10.2.3友好的轉向335 
10.3列出所有用戶338 
10.3.1用戶列表339 
10.3.2示例用戶343 
10.3.3分頁345 
10.3.4用戶列表頁面的測試348 
10.3.5使用局部視圖重構350 
10.4刪除用戶351 
10.4.1管理員352 
10.4.2destroy動作355 
10.4.3刪除用戶的測試357 
10.5小結360 
第11章激活賬戶362 
11.1AccountActivations資源363
11.1.1AccountActivations控制器363 
11.1.2AccountActivations數據模型364 
11.2賬戶激活郵件368 
11.2.1郵件程序模板368 
11.2.2預覽郵件372 
11.2.3測試電子郵件375 
11.2.4更新Users控制器的create動作377 
11.3激活賬戶380 
11.3.1通用的authenticated方法380 
11.3.2編寫激活賬戶的edit動作383 
11.3.3測試和重構386 
11.4在生產環境中發送郵件391 
11.5小結394 
第12章重設密碼395 
12.1PasswordResets資源397 
12.1.1PasswordResets控制器397 
12.1.2請求重設密碼399 
12.1.3PasswordResets控制器的create動作402 
12.2密碼重設郵件404 
12.2.1密碼重設郵件程序和模板404 
12.2.2測試電子郵件409 
12.3重設密碼410 
12.3.1PasswordResets控制器的edit動作410 
12.3.2更新密碼412 
12.3.3測試密碼重設功能417 
12.4在生產環境中發送郵件(再談)421 
12.5小結423
12.6證明超時比較算式423 
第13章用戶的微博425 
13.1Micropost模型425 
13.1.1基本模型425 
13.1.2Micropost模型的數據驗證427 
13.1.3User模型和Micropost模型之間的關聯430 
13.1.4改進Micropost模型433 
13.2顯示微博436 
13.2.1渲染微博437 
13.2.2示例微博440 
13.2.3測試資料頁面中的微博445 
13.3微博相關的操作447 
13.3.1訪問限制448 
13.3.2創建微博450 
13.3.3動態流原型457 
13.3.4刪除微博462 
13.3.5微博的測試465 
13.4微博中的圖像468 
13.4.1基本的圖像上傳功能469 
13.4.2驗證圖像474 
13.4.3調整圖像尺寸476 
13.4.4在生產環境中上傳圖像478 
13.5小結481 
第14章關注用戶484 
14.1Relationship模型487 
14.1.1數據模型帶來的問題(以及解決方法)487 
14.1.2User模型和Relationship模型之間的關聯490 
14.1.3關係驗證492 
14.1.4我關注的用戶493
14.1.5關注我的人496 
14.2關注用戶的Web界面498 
14.2.1示例關注數據498 
14.2.2數量統計和關注表單499 
14.2.3我關注的用戶列表頁面和關注我的用戶列表頁面507 
14.2. 4關注按鈕的常規實現方式514 
14.2.5關注按鈕的Ajax實現方式517 
14.2.6關注功能的測試520 
14.3動態流522 
14.3.1目的和策略522 
14.3.2初步實現動態流524 
14.3.3子查詢526 
14.4小結530 
14.4.1後續學習資源530 
14.4.2本章所學531


作者介紹


Michael Hartl,Ruby專家,暢銷書作者,教學網站LearnEnough.com創始人之一。因為對Ruby社區的貢獻,於2011年被授予Ruby Hero獎。畢業於哈佛學院,獲得了加州理工學院物理學博士學位,同時還是Y Combinator創業者項目的畢業生。




相關書籍

Go Systems Programming

作者 Mihalis Tsoukalos

2017-09-01

發布!設計與部署穩定的分佈式系統 第2版

作者 [美] 邁克爾·尼加德(Michael T. Nygard)

2017-09-01

Using SVG with CSS3 and HTML5: Vector Graphics for Web Design

作者 Amelia Bellamy-Royds Kurt Cagle Dudley Storey

2017-09-01