《Ruby on Rails社區網站開發》

《Ruby on Rails社區網站開發》

《Ruby on Rails社區網站開發》圖書由(英)布拉德伯納(BradburneM,A)著;柳靖譯,日,人民郵電出版社出版發行。

簡介

作者: (英)布拉德伯納(BradburneM,A) 著;柳靖 譯

出 版 社: 人民郵電出版社

出版時間: 2008-10-1

字數: 520000

版次: 1

頁數: 341

印刷時間: 2008/10/01

開本: 16開

印次: 1

紙張: 膠版紙

I S B N : 9787115187086

包裝: 平裝

編輯推薦

使用Rails開發自己的社區網站,凝聚業界專家多年深厚功力,豐富的實戰經驗與技巧。

“這是一部傑作!有它在手,足以開發出一個真正的社區網站。書中採用了模組化的方法,實例可以非常容易地復用。比如在現有網站中添加社區網路功能。”

——David Berube,資深RUBY技術專家,Practical Ruby Gems一書作者

“我非常喜歡這本書,相信所有ROR程式設計師都會從中獲益匪淺。”

——Larry Wright,資深RoR和敏捷技術專家

社區網站毫無疑問是當今網際網路的大熱點,即使是最傳統的網站,也會考慮添加更多社區網站的特性。正是在這樣的大背景下,橫空出世的Ruby on Rails也成為無數Web開發人員的新寵。

本書全面展現了構建一個社區網站的開發過程。首先開發一個簡單的內容管理系統,然後逐步添加各種特性。完成一個支持各種Web 2.0功能的完整社交網路。從本書中可以學到如何在大型項目中充分運用Ruby on Rails框架以及各種外掛程式,如何實現社區特有的功能。如何集成Flickr和Google Maps等API。本書還提供了很多經過實踐驗證的開發、測試、最佳化及維護方面的經驗和技巧。書中處處體現出作者獨到的洞察力,以及多年開發和指導軟體項目所練就的深厚功力。

內容簡介

《Ruby on Rails社區網站開發》《Ruby on Rails社區網站開發》
本書全面探討創建完整社區網站的開發過程。首先介紹開發一個內容簡單的管理系統,之後逐漸添加新特性,以創建更完整的、使用Ruby on Rails 的Web 2.0 社區網站。還給出了開發和測試中的一些建議和提示,同時指導如何使網站更生動以及維護得更好。本書也探討了如何與Flickr 、Google Maps 等其他平台集成,如何最佳地利用Rails 的Ajax 特性,以及如何使網站適應移動設備。

本書適合所有Web 開發人員閱讀。

作者簡介

AIan Bradburne,資深Web工程師,尤其擅長社區網站開發。他在Web開發領域和移動行業擁有十多 年的工作經驗。曾任職於摩托羅拉和Sun等著名企業。他是RoR軟體公司Incrediblinc創辦者之一,此前還-創建了世界上最早的手機照片部落格社區Phlog.net。可以通過http://alanbradburne.com與他聯繫。

目錄

第1章 Ruby語言、Ruby on Rails 框架和RailsCoders項目

1.1 RailsCoders項目

1.2 Ruby語言和Ruby on Rails框架

1.2.1 Ruby語言歷史概況

1.2.2 什麼是Ruby on Rails

1.3 搭建RailsCodes網站所需的軟體

1.4 升級Rails

1.5 安裝Ruby、Rails和MySQL

1.5.1 在Windows上安裝

1.5.2 在Mac OS X中安裝

1.5.3 在Linux中安裝

1.6 創建Rails應用程式的框架

1.7 設定資料庫

1.7.1 創建資料庫

1.7.2 配置Rails以使用資料庫

1.7.3 測試資料庫

1.8 小結

第2章 開發內容管理系統

2.1 確定功能需求

2.2 Rails、路由和REST

2.2.1 傳統的Rails路由

2.2.2 REST方式的Rails路由

2.3 構建網站布局

2.4 設計頁面和頁面編輯器

2.4.1 Page模型

2.4.2 頁面控制器

2.5 創建Page模型

2.5.1 遷移任

2.5.2 生成模型

2.5.3 創建控制器

2.5.4 設定默認頁面

2.5.5 在側欄選單中添加連結

2.6 測試

2.6.1 創建測試資料庫

2.6.2 為Page模型開發單元測試

2.7 擴展內容管理系統

2.8 小結

第3章 添加用戶和組

3.1 確定功能需求

3.1.1 定義User模型

3.1.2 Role模型和連線表

3.1.3 控制器

3.1.4 會話和Cookie

3.2 創建User模型

3.3 會話處理庫

3.4 創建控制器

3.4.1 用戶控制器

3.4.2 賬戶控制器

3.5 創建用戶賬戶視圖

3.5.1 新用戶視圖

3.5.2 登錄視圖

3.5.3 用戶信息展示視圖

3.6 添加管理視圖

3.6.1 在索引視圖中列出全部用戶

3.6.2 使用edit.rhtml來編輯用戶

3.7 測試

3.7.1 單元測試

3.7.2 功能測試

3.8 添加角色

3.8.1 創建Role模型和連線表

3.8.2 檢測用戶角色

3.8.3 管理角色

3.9 測試角色功能性

3.10 擴展用戶管理系統

3.11 小結

第4章 搭建提供RSS Feed和API的新聞部落格

4.1 確定功能需求

4.1.1 Textile標註

4.1.2 Article模型

4.1.3 定義Category模型

4.1.4 編輯角色

4.1.5 文章控制器

4.1.6 分類控制器

4.2 安裝RedCloth Gem包

4.3 創建Article模型和Category模型

4.3.1 編寫資料庫遷移任務

4.3.2 定義模型間的關聯關係

4.3.3 定義驗證

4.3.4 刪除分類時自動置空category_id

4.3.5 自動更新published_at欄位

4.3.6 添加編輯角色

4.4 創建文章控制器和視圖

4.4.1 映射REST資源

4.4.2 文章控制器

4.4.3 文章視圖

4.5 使用文章功能部件

4.5.1 測試XML API

4.5.2 為API添加HTTP驗證

4.5.3 測試API驗證

4.6 創建分類控制器和視圖

4.6.1 分類控制器

4.6.2 分類視圖

4.6.3 在側欄選單中添加連結

4.7 手動測試新聞部落格系統

4.8 測試新聞部落格

4.8.1 功能測試

4.8.2 綜合測試

4.9 新聞系統的進階開發

4.10 小結

第5章 搭建交流論壇

5.1 確定交流論壇的功能需求

5.1.1 定義Forum模型

5.1.2 定義Topic模型

5.1.3 定義Post模型

5.1.4 版主角色

5.1.5 論壇控制器、主題控制器和帖子控制器

5.2 搭建論壇

5.2.1 創建Forum模型、Topic模型和Post模型

5.2.2 檢測用戶角色的版主許可權

5.2.3 添加嵌套的資源路由映射

5.2.4 修改布局模板和樣式表

5.2.5 論壇控制器及其對應的視圖

5.2.6 主題控制器及其對應的視圖

5.2.7 帖子控制器及其對應的視圖

5.2.8 在側欄選單中添加連結

5.2.9 測試主題和帖子

5.2.10 限制版主之外的用戶訪問行為方法

5.3 測試論壇

5.3.1 創建測試夾具

5.3.2 創建功能測試

5.4 交流論壇的進階開發

5.5 小結

第6章 構建支持Web服務的部落格引擎

6.1 確定部落格引擎的功能需求

6.1.1 Entry模型

6.1.2 Comment模型

6.1.3 User模型

6.1.4 日誌控制器

6.1.5 評論控制器

6.1.6部落格控制器

6.1.7 部落格API

6.2 構建部落格系統

6.2.1 部落格的框架代碼

6.2.2 編寫遷移任務

6.2.3 模型間的關聯關係和驗證

6.2.4 創建資源映射

6.2.5 部落格名稱輔助方法

6.2.6 為用戶資料頁面添加部落格標題

6.2.7 控制器和視圖

6.2.8 測試日誌控制器

6.2.9 創建並測試評論控制器

6.2.10 為用戶資料添加最新部落格日誌

6.2.11 部落格控制器

6.3 創建XML-RPC部落格接口

6.3.1 Action Web Service

6.3.2 生成Web服務代碼

6.3.3 定義API方法調用

6.3.4 編寫部落格API方法代碼

6.3.5 測試Web服務

6.3.6 使用桌面部落格客戶端工具進行測試

6.3.7 自動測試部落格API

6.4 部落格系統的進階開發

6.5 小結

第7章 構建相冊

7.1 處理上傳的檔案

7.2 attachment_fu外掛程式

7.3 相冊的功能需求

7.3.1 定義Photo模型

7.3.2 照片控制器

7.4 安裝ImageMagick、RMagick和attachment_fu

7.4.1 Windows下的安裝

7.4.2 OS X下的安裝

7.4.3 Linux下的安裝

7.4.4 安裝attachment_fu外掛程式

7.5 建立相冊

7.5.1 生成框架代碼

7.5.2 編寫遷移任務

7.5.3 創建Photo模型及相應的關聯關係

7.5.4 映射照片資源

7.5.5 照片控制器和用戶照片控制器

7.5.6 照片視圖

7.6 手動測試相冊

7.7 編寫測試用例

7.7.1 創建照片夾具

7.7.2 單元測試

7.7.3 功能測試

7.8 相冊功能的進階開發

7.9 小結

第8章 傳送電子郵件並建立新聞公告郵件列表

8.1 使用ActionMailer

8.2 確定電子郵件功能需求

8.2.1新評論的電子郵件通知

8.2.2 新聞公告郵件

8.3 建立新評論通知器

8.3.1 創建郵件傳送器

8.3.2 手動測試電子郵件的創建

8.3.3 從評論控制器調用郵件傳送器

8.3.4 從應用程式內部測試郵件傳送器

8.3.5 自動郵件傳送器的測試

8.4 建立新聞公告功能

8.4.1 安裝ar_mailer

8.4.2 創建框架資源

8.4.3 映射新聞公告資源

8.4.4 Newsletter模型

8.4.5 編寫新聞公告控制器及其對應的視圖

8.4.6 創建新聞公告傳送器

8.4.7 在側欄選單中添加新聞公告

8.4.8 測試新聞公告郵件傳送系統

8.5 電子郵件系統的進階開發

8.6 小結

第9章 添加帶有XFN詳細信息的好友

9.1微格式和XFN

9.2 好友功能需求

9.2.1 Friends資源

9.2.2 顯示用戶最近的活動

9.3 建立Friends資源

9.3.1 建立資料庫遷移

9.3.2 建立Friends資源

9.3.3 更新用戶最近活動信息

9.3.4 好友控制器及其對應的視圖

9.3.5 在側欄中添加好友連結

9.4 美化好友列表

9.5 測試

9.6 好友功能的進階開發

9.7 小結

第10章 為相冊添加標籤

10.1 相冊標註的功能需求

10.2 使用Rails實現標註

10.3 acts_as_taggable_on_steroids外掛程式

10.4 構建照片標註功能

10.4.1 安裝acts_as_taggable_on_steroids外掛程式

10.4.2 創建資料庫表

10.4.3 更新模型

10.4.4 創建控制器

10.4.5 添加資源映射

10.4.6 編寫控制器和視圖

10.4.7 為照片添加標籤

10.4.8 連結到標籤瀏覽器

10.5 手動測試

10.6 標籤系統的進一步開發

10.7 小結

第11章 結合Web 2.0創建Mashup

11.1 集成Google Maps API

11.1.1 地圖功能需求

11.1.2 構建地圖功能

11.2 集成Flickr API

11.2.1 Flickr功能需求

11.2.2 構建Flickr集成功能

11.3 使用Mashup做進一步開發

11.4 小結

第12章 為部落格引擎添加個性化主題

12.1 部落格模板需求

12.2 Liquid模板

12.2.1 Liquid API

12.2.2 Liquid標記

12.3 安裝Liquid8

12.4 構建部落格模板功能

12.4.1 創建Liquid drop

12.4.2 創建Liquid過濾器

12.4.3 Usertemplate模型

12.4.4 用戶模板控制器

12.4.5 用戶模板視圖

12.4.6 呈現Liquid模板

12.5 手動測試

12.6 測試用戶模板控制器

12.7 用戶模板的進階開發

12.8 小結

第13章 添加移動接口

13.1 行動網路

13.2 RailsCoders移動網站需求

13.2.1 布局

13.2.2 用戶資料

13.2.3 賬戶

13.2.4 頁面

13.2.5 新聞

13.2.6 論壇

13.2.7 部落格

13.2.8 相冊

13.3 開發RailsCoders網站的移動版本

13.3.1 移動應用程式的架構

13.3.2 創建移動布局和樣式表

13.3.3 資源映射

13.3.4 移動控制器和視圖

13.4 手動測試

13.5 測試移動網站

13.6 移動網站的進階開發

13.7 小結

第14章 部署、最佳化和擴展應用程式

14.1 部署RailsCoders網站

14.1.1 開發模式和產品模式

14.1.2 會話存儲

14.1.3 選擇主機

14.1.4 選擇Web伺服器

14.1.5 利用Capistrano和Deprec實現自動化部署

14.2 最佳化和擴展RailsCoders

14.2.1 觀察日誌檔案

14.2.2 快取

14.2.3 基準測試

14.3 小結

書摘

第1章 Ruby語言、Ruby on Rails 框架和RailsCoders項目

1.2 Ruby語言和Ruby On Rails框架

在正式開始開發網站之前,有必要花一點時間來了解什麼是Ruby語言和Ruby on Rails框架以及它們之間的關係。

Ruby 0n Rails框架徹底改變了許多Web套用開發團隊和個人的開發方式——一些小團隊能夠輕而易舉地開發出穩定、易擴展且易維護的應用程式。Rails框架可實現快速開發,且不含“髒”代碼,這意味著應用程式的開發能夠快速和互動式地完成,同時具有良好的架構和穩定性。

了解Ruby語言和Ruby on.Rails框架的歷史,有助於更好地從中獲益,同時也能發現它們高效、有趣的原因所在。

1.2.1 Ruby語言歷史概況

Ruby語言和Ruby on Rails框架往往同時被提及,這很容易讓人誤以為它們完全相同。查看Rails代碼不會有多大的幫助,因為很難看出“Ruby在哪裡結束,Ruby on Rails從哪裡開始”。

Ruby語言僅僅是一種類似於Perl、PHP或Java的程式語言。然而,Ruby語言的一些特性又使它區別於其他程式語言。首先,Ruby語言被設計成一種面向對象的語言。這不同於Pell或PHP那種事後產生想法形成面向對象特徵的語言,也不同於Java或C#,Ruby語言是完全面向對象的,即.Ruby語言中一切皆為對象。

其次,Ruby語言是一種動態語言,這意味著使用Ruby語言編寫的程式在執行過程中能夠改變其自身的結構。Ruby語言是動態類型,變數並不限於某一特定的類型(如整型或字元串),它們能夠在程式執行期間改變類型。如果以前有過如Peil或Python等動態語言的開發經驗,你可能不會感到意外;但如果以前是c++或Java背景,你可能會感到有些不同。

相關詞條

相關搜尋

熱門詞條

聯絡我們