《RailsCookbook(中文版)》一書,共十五章,涉及:Rails開發、ActiveRecord、ActionController、RESTful開發、Rails應用程式測試、JavaScript和Ajax、調試Rails應用程式、主機託管和部署、用外掛程式擴展Rails等內容。
基本介紹
內容簡介,編輯推薦,作者簡介,目錄,
內容簡介
Rails是創建新一代Web2.0應用程式框架的主導者。利用Rails開發出來的應用程式具有輕量級、全功能和可擴展的特性,這些特性引起了Web開發的革命。本書面向現實世界的開發問題,每一個技巧都包含一個測試過的解決方案以及該方案為什麼會這樣工作和該方案如何工作的討論,這有助於你將這些技巧套用到相似的解決方案中。本書包含了你要成為一個專業的Rails開發者所需要的各種技巧。比如,用ActiveRecord庫對數據進行建模、用ActionView和RHTML模板創建視圖、在ActionController中建立應用程式邏輯、測試和調試Rails應用程式、用JavasScript和Ajax構建更具互動性的Web應用程式等。
無論你是想利用Rails進行Web開發的初學者,還是有豐富開發經驗的專家,本書中都有適合你的內容,閱讀本書,將使你深受裨益。
編輯推薦
Railscookbook一書包含了你要成為一個專業的Rails開發者所需要的各種解決方案。Rails是創建新一代Web2.0應用程式框架的主導者。本書中不僅包含“安裝Rails和配置開發環境”等基本技巧,而且還包含與“REsTfulWebServi‘ces開發”相關的最新技術的高級技巧。
利用Rails開發出來的應用程式具有輕量級、全功能和可擴展的特性,這些特性引起了Web開發的革命。本書面向現實世界的開發問題,每一個技巧都包含一個測試過的解決方案以及該方案為什麼會這樣工作和該方案如何工作的討論,這有助於你將這些技巧套用到相似的解決方案中。本書所包含的主題有:
·用ActiveRecord庫對數據進行建模
·用ActionView和RHTML模板創建視圖
·在Actionconntr0ller中建立應用程式邏輯
·測試和調試Rails應用程式
·用JavaScript和Ajax構建更具互動性的Web應用程式
·如何確保Rails應用程式的安全和性能
·用Mongrel和Apache部署Rails應用程式
·用cap~’strano進行自動部署
·多種Rails外掛程式的使用方法
不管你是RailsN新手還是老手,在本書中你都能找到測試、調試、確保應用程式安全、使用Ajax、用快取提升性能以及將應用程式產品化的方法。想降低Web2.0陡峭的學習曲線嗎?本書將會幫助你在使用Rails時節約數百小時的學習時間。
“本書包含了我想要的一切:精確、切題、富有時效性,並且對初學者和專家都適用。更棒的是,書中的很多技巧是由我喜歡的社區裡的人貢獻的。”
——GeollfreyGrosenbachHostoftheRubyrJnRailsPodcast
“在讀到第3章的時候,我知道我應該推薦人們用這本書來開始Rails開發,這一章節包含了開發Rails應用程式所需的基本技巧。本書還包括很多高級的技巧,比如測試和REST[ul應用程式的開發,這讓那些有經驗的RLJby主義者也可以通過本書提高自身的技能。”
——KevinClark
作者簡介
RobOrsini是一位開源開發者,他現居住在加利福尼亞北部,就職於O’ReillyMedia公司軟體產品組。在此之前,他擔任IndustrialLight&Magic網站的管理員,從事一些與工業相關的特定的應用程式的開發。Rob從1998年開始從事Web開發工作,不久後發現了Rails並希望自己今後一直能在這方面工作下去。他同時也是一位爵士音樂家,而且還是一位非常慈愛的父親。
目錄
序言
前言
第1章:起步
加入Rails社區
尋找文檔
安裝MySQL
安裝PostgreSQL
安裝Rails
在OSX10.4Tiger上修訂Ruby並安裝Rails
在帶有Locomotive的OSX上運行Rails
在Windows中用InstantRails運行Rails
用RubyGems更新Rails
把你的Rails工程放入Subversion
第2章:Rails開發
創建一個Rails工程
用腳手架快速啟動開發
用Mongrel來加速Rails開發
用Cygwin增強在Windows平台上進行的開發
理解Rails中的複數模式
在OSX平台上用TextMate進行Rails開發
用RadRails來進行跨平台開發
安裝和運行邊緣Rails
用SSH建立無密碼認證
為你的Rails套用生成Rdoc
用Streamlined創建全功能的CRUD套用
第3章:ActiveRecord
為Rails應用程式建立關係資料庫
用程式定義資料庫模式
開發可遷移資料庫
使用ActiveRecord建模
從Rails控制台考查模型關係
通過ActiveRecord訪問你的數據
使用find獲取記錄
在ActiveRecord結果集中進行疊代
使用貪婪載入高效獲取數據
更新一個ActiveRecord對象
使用ActiveRecord校驗來增強數據完整性
用find_by_sql執行自定義查詢
用事務來防止競爭條件
用act_as_list給模型增加排序能力
當模型對象被創建時執行一個任務
用acts_as_nested_set建模一個線索化的論壇
用acts_as_tree創建一個嵌套主題的目錄
用樂觀鎖定避免競爭條件
處理遺留系統中的表
使記錄時間戳自動化
用多態關聯來整理通用關係
為靈活數據建模混合使用連線模型和多態機制
第4章:ActionController
通過控制器訪問表單數據
改變應用程式的默認頁面
使用命名路由淨化你的代碼
配置自定義路由行為
利用Flash顯示提示訊息
延長Flash訊息的生命周期
在Action後重定向
動態生成URL
使用過濾器監視請求
使用過濾器的日誌
渲染動作
限制對控制器方法的訪問
傳送檔案或數據流到瀏覽器
存儲會話信息到資料庫中
用會話跟蹤信息
使用過濾器進行認證
第5章:ActionView
用視圖輔助方法簡化模板
用分頁方法顯示大數據集
創建黏性選擇列表
用多選列表編輯多對多關聯
用布局條理化通用顯示代碼
定義默認應用程式布局
用Builder模板生成XML
從ActiveRecord數據中生成RSSFeeds
創建局部模板重用頁面元素
處理動態創建的輸入欄位
自定義標準輔助方法的行為
使用表單輔助方法創建Web表單
格式化日期、時間和貨幣
使用Gravatars將用戶簡檔個性化
使用Liquid模板來避免視圖中的有害代碼
國際化你的Rails應用程式
第6章:RESTful開發
創建嵌套資源
通過MIME類型提供替代數據格式
用連線模型建立RESTful關係模型
利用RESTful資源超越簡單的CRUD
處理複雜的嵌套REST資源
用REST的方式開發Rails應用程式
第7章:Rails應用程式測試
測試用例中常用的對象創建
為多對多關聯創建夾具
用CSV夾具導入測試數據
使用ERb在夾具中包含動態數據
初始化測試資料庫
從Rails控制台互動式測試控制器
解釋Test::unit的輸出
用YAML夾具裝入測試數據
使用rakestats監視測試覆蓋
用Rake運行測試
用事務性夾具加速測試
用集成測試進行跨控制器的測試
使用功能性測試來測試控制器
檢驗cookie的內容
對自定義和命名路由進行測試
使用與回響相關的斷言來測試HTTP請求
使用單元測試來測試模型
對模型校驗進行單元測試
使用與標籤相關的斷言來驗證DOM結構
編寫自定義斷言
測試檔案的上傳
使用Mocks來修改用於測試的類的默認行為
通過持續地運行測試來改進反饋機制
使用Rcov來分析代碼的覆蓋度
第8章:JavaScript和Ajax
在頁面中插入DOM元素
通過拖放創建一個自定義報表
動態地向選擇列表添加項目
監控文本區域的內容長度
使用RJS模板更新頁面元素
在模板中插入JavaScript
讓用戶對列表重新排序
自動完成文本欄位
動態地查找並高亮顯示文本
增強用戶界面的視覺效果
實現實時搜尋
就地編輯欄位內容
創建一個Ajax進度指示器
第9章:ActionMailer
配置Rails傳送郵件
用Mailer生成器生成自定義Mailer類
使用模板格式化電子郵件訊息
給電子郵件訊息增加附屬檔案
從Rails應用程式中發電子郵件
用ActionMailer接收郵件
第10章:調試Rails應用程式
從控制台探索Rails
在源檔案中使用Ruby-cw修復Bug
使用breakpointer實時調試應用程式
使用內部的RailsLogger類來請求連線
將調試信息寫入一個檔案
郵件通知應用程式的異常
在視圖中輸出環境信息
顯示發生異常的對象內容
實時過濾開發日誌
用Firefox擴展調試HTTP通信
使用JaVaScriptShell實時地調試JavaScript
使用ruby-debug互動式調試代碼
第11章:安全
通過複雜的密碼來使你的系統堅固
在查詢中避免SQL注入攻擊
保護你的站點避免跨站點腳本攻擊
限制對公共方法或動作的訪問
關閉不必要的連線埠來保護你的伺服器
第12章:性能
利用Httperf衡量Web伺服器的性能
套用代碼的基準測試部分
通過快取靜態頁面提高性能
使快取的頁面失效
用局部快取混合靜態和動態頁面
通過動作快取來過濾快取頁面
利用memcached加速數據訪問
通過快取處理過的內容提高性能
第13章:主機託管和部署
用Apache1.3和mod_fastcgi作為Rails的宿主環境
用mongrel_cluster管理多個Mongrel進程
用Apache2.2、mod_proxy_balancer和Mongrel部署Rails應用程式
在Mongrel、Lighttpd和Apache的前端用Pound部署Rails
用cronolog自定義Pound的日誌
配置支持SSL的Pound
用Pen實現簡單的負載均衡
用Capistrano部署Rails項目
用Capistrano把你的應用程式部署到多個環境中
在無法訪問subversion時用Capistrano進行部署
用Capistrano和mongrel_cluster進行部署
在維護期間禁用站點
自定義Capistrano任務
清理殘留的會話記錄
第14章:用外掛程式擴展Rails
查找第三方外掛程式
安裝外掛程式
用acts_as_versioned來進行版本記錄
用acts_as_aulhenticated構建認證系統
用acts_aS_taggable簡化分眾分類
使用acts_as來擴展ActiveRecord
將視圖輔助方法作為外掛程式添加到Rails中
使用file_column上傳檔案
使用acts_as_attachment上傳檔案
使用acts_aS_pm‘anoid來禁止記錄而不刪除記錄
使用LoginEngine添加更詳盡的認證方式
第15章:圖形
安裝RMagick來處理圖片
上傳圖片到資料庫
直接從資料庫中獲得圖片
使用RMagick創建調整大小的縮略圖
生成PDF文檔
使用Gruff可視化地顯示數據
使用Spar'Nines創建小信息提示圖形
附錄A:遷移到Rails1.2