前言
第一篇 語言篇
第1章 Ruby on Rails簡介
1.1 Ruby on Rails概述
1.1.1 Ruby簡介
1.1.2 什麼是Rails
1.2 搭建Ruby on Rails開發和執行環境
1.2.1 安裝Ruby解譯器
1.2.2 安裝Rails Framework
1.2.3 安裝MySQL資料庫
1.3 Ruby on Rails開發工具
1.3.1 SciTE開發工具
1.3.2 RadRails開發工具
1.3.3 使用RadRails開發工具建立
Ruby專案
1.4 Ruby程式設計入門
1.4.1 Ruby語言簡單應用
1.4.2 獲得使用者輸入資料
1.4.3 管理Ruby解譯器
第2章 Ruby基本語法
2.1 常數和變數
2.1.1 常數
2.1.2 區域變數
2.1.3 全域變數
2.2 運算子
2.2.1 算術運算子
2.2.2 設定運算子
2.2.3 位運算子
2.2.4 比較運算子
2.2.5 邏輯運算子
2.2.6 條件運算子
2.2.7 運算子的優先順序別
2.3 運算式
2.3.1 帶傳回值的運算式
2.3.2 無傳回值的運算式
2.3.3 平行指定值
2.3.4 嵌套指定值
2.4 基本型態
2.4.1 數值型
2.4.2 範圍
2.4.3 雜湊表
2.4.4 符號
2.5 流程控制敘述
2.5.1 if敘述
2.5.2 unless敘述
2.5.3 case敘述
2.5.4 while敘述
2.5.5 until敘述
2.5.6 for…in敘述
2.5.7 loop敘述
2.5.8 反覆運算器
2.5.9 break敘述
2.5.10 next敘述
2.5.11 redo敘述
2.5.12 retry敘述
2.5.13 return敘述
2.6 字串
2.6.1 建立字串
2.6.2 字串的%標記法
2.6.3 多行字串表示方式
2.7 陣列
2.7.1 定義陣列
2.7.2 陣列的%表示方法
2.7.3 增加和刪除陣列元素
2.7.4 截取和合併陣列
第3章 物件導向
3.1 物件導向
3.1.1 物件導向概念
3.1.2 定義類別
3.1.3 產生實體類別
3.1.4 嵌套類別
3.1.5 特殊類別
3.2 方法
3.2.1 宣告方法
3.2.2 設定方法參數預設值
3.2.3 方法傳回值
3.2.4 定義特殊方法
3.2.5 定義類別方法
3.3 變數
3.3.1 執行個體變數
3.3.2 類別變數
3.4 建構函數
3.5 屬性
3.6 存取作用域
3.7 反覆運算器和區塊
3.7.1 在方法中使用區塊
3.7.2 實現反覆運算器
3.8 類別的繼承
3.8.1 繼承的特點和語法
3.8.2 覆蓋基礎類別的方法
3.8.3 存取基礎類別建構函數
第4章 高級特性
4.1 模組
4.1.1 定義模組
4.1.2 命名空間
4.1.3 載入其他檔案
4.2 別名和定義
4.2.1 定義別名
4.2.2 釋放定義
4.2.3 判斷是否完成定義
4.3 BEGIN區塊和END區塊
4.3.1 BEGIN區塊和END區塊
4.3.2 at_exit區塊
4.4 動態語言特性
4.4.1 method_missing方法
4.4.2 duck typing特性
4.4.3 Proc物件
4.4.4 用eval方法動態執行程式碼
4.5 垃圾收集器
4.6 例外
4.6.1 常見例外
4.6.2 捕捉例外
4.6.3 顯示拋出例外
4.6.4 建立例外類別
第5章 常用模組
5.1 使用字串
5.1.1 合併字串
5.1.2 替換字串內容
5.1.3 改變字串
5.1.4 獲得或替換字元和子字串
5.1.5 比較兩個字串是否相等
5.1.6 比較兩個字串大小
5.2 型態轉換
5.2.1 內建型態轉換方法
5.2.2 自訂型態轉換方法
5.3 正則運算式
5.3.1 介紹正則運算式
5.3.2 正則運算式操作
5.4 時間和日期
5.4.1 產生目前時間物件
5.4.2 mktime方法和local方法
5.4.3 to_a方法
5.4.4 傳回第幾天的方法
5.4.5 時間相加減
5.4.6 日期的格式化
5.5 執行緒
5.5.1 建立執行緒
5.5.2 傳回目前執行緒
5.5.3 暫停目前執行緒
5.5.4 顯示控制執行緒
5.5.5 停止執行緒
5.5.6 sleep執行緒
5.6 執行緒狀態
5.7 執行緒的同步
5.7.1 同步對資源的存取
5.7.2 同步佇列類別
5.7.3 使用ConditionVariable類別實現同步
第6章 操作檔案與目錄
6.1 獲得檔案所有者及其許可權
6.1.1 獲得檔案所有者和所屬組
6.1.2 操作檔案許可權
6.1.3 判斷使用者讀寫檔案許可權和
執行檔案許可權
6.2 獲得與設定檔案時間戳記
6.3 判斷檔案是否存在及其大小
6.3.1 判斷檔案是否存在
6.3.2 獲得檔案大小
6.4 開啟與關閉檔案
6.4.1 開啟檔案
6.4.2 關閉檔案
6.5 讀取檔案
6.5.1 read方法
6.5.2 移動檔案指標
6.5.3 readchar方法
6.5.4 readline方法和readlines方法
6.5.5 gets方法
6.6 使用反覆運算讀取檔案
6.6.1 以反覆運算檔案內容行的方式
讀取檔案
6.6.2 以反覆運算檔案內容位元組的
方式讀取檔案
6.6.3 使用foreach反覆運算器反覆運
算檔案內容
6.7 寫入檔案
6.7.1 w或者w+模式寫入檔案
6.7.2 a或者a+模式寫入檔案
6.8 操作檔案
6.8.1 刪除檔案
6.8.2 重命名檔案
6.9 操作路徑
6.9.1 操作路徑名
6.9.2 獲得絕對路徑和設定新路徑
6.10 操作目錄
6.10.1 獲得和改變目前的目錄
6.10.2 獲得目錄清單
6.10.3 刪除目錄
第7章 操作資料庫
7.1 DBI操作資料庫
7.1.1 DBI概述
7.1.2 連接MySQL資料庫
7.1.3 執行SQL敘述
7.1.4 獲得查詢結果集
7.1.5 預留位置
7.1.6 查詢中繼資料
7.1.7 DBI交易處理
7.2 使用Mysql模組處理資料庫
7.2.1 Ruby Mysql模組概述
7.2.2 執行SQL敘述
7.2.3 使用fetch_row方法獲得查詢結果集
7.2.4 反覆運算器
7.2.5 使用fetch_hash方法獲得查詢結果集
7.2.6 顯示NULL值結果集
7.2.7 特殊字元處理
7.2.8 使用Mysql模組查詢中繼資料
第二篇 Framework篇
第8章 建立第一個Ruby on Rails程式
8.1 設定執行環境
8.1.1 Rails概述
8.1.2 設定Rails環境
8.2 產生基本Framework
8.2.1 建立Web應用
8.2.2 檢視目錄結構
8.2.3 設定資料庫
8.3 產生頁面框架
8.3.1 產生頁面框架
8.3.2 測試Web應用
8.3.3 RoR與MVC的關聯性
8.4 完善第一個Web應用
8.4.1 處理中文亂碼
8.4.2 美化商品清單頁面
8.4.3 美化Rails應用程式模版和其他功能頁面
第9章 資料持久層技術ActiveRecord
9.1 物件關係模型
9.2 ActiveRecord入門
9.2.1 ActiveRecord概述
9.2.2 表對應類別
9.2.3 列對應屬性
9.2.4 存取屬性
9.2.5 資料序列化
9.2.6 映射主鍵
9.3 連接資料庫
9.4 新增資料
9.4.1 無參數呼叫new方法新增資料
9.4.2 有參數呼叫new方法
9.4.3 使用區塊參數呼叫new方法
9.4.4 使用Hash物件作為參數產生實
體持久類別
9.5 使用create方法新增資料
9.5.1 新增一條記錄
9.5.2 增加多行記錄
9.6 讀取資料
9.6.1 find方法
9.6.2 根據主鍵查詢
9.6.3 獲得記錄的第一行
9.6.4 獲得記錄的最後一行
9.6.5 獲得所有記錄
9.7 動態查詢
9.7.1 使用find_by_*方法查詢資料
9.7.2 使用find_all_by_*方法查詢資料
9.7.3 使用find_by_*_and_*方法查詢資料
9.7.4 使用find_all_by_*_and_*方法查詢資料
9.8 使用SQL敘述查詢
9.9 讀取記錄行數
9.9.1 使用count方法獲得查詢記錄行數
9.9.2 使用count_by_sql方法獲得查詢
記錄行數
9.10 更新資料
9.10.1 使用save方法直接更新特定記錄
9.10.2 使用update_attribute方法更新記錄
9.10.3 使用update_attributes方法更新記錄
9.10.4 使用update方法更新一行或多
行記錄
9.10.5 使用update_all方法更新記錄
9.11 刪除資料
9.11.1 使用delete方法刪除記錄
9.11.2 使用delete_all方法根據條件子
句刪除記錄
9.11.3 使用destroy方法刪除記錄
9.11.4 使用destroy_all方法刪除記錄
第10章 ActiveRecord高級操作
10.1 設計關聯
10.1.1 表關聯
10.1.2 指定關聯
10.1.3 一對一關聯
10.1.4 一對多關聯
10.1.5 多對多關聯
10.1.6 自關聯
10.2 處理交易
10.3 建立自訂驗證資料方法
10.4 常用模型驗證器
10.4.1 非空驗證
10.4.2 唯一驗證
10.4.3 驗證長度和大小
10.4.4 驗證正整數
10.4.5 驗證格式
10.4.6 驗證確認
10.4.7 其他驗證
10.5 回檔處理
10.6 控制顯示錯誤資訊的CSS樣式
第11章 ActionController控制器解決方案
11.1 ApplicationController介紹
11.2 路由概述
11.2.1 路由設定檔
11.2.2 資源路由
11.2.3 命名路由
11.2.4 正則路由
11.2.5 指定URL規則
11.3 使用render方法重新導向
11.3.1 傳送到預設模版
11.3.2 傳送到自訂模版
11.3.3 使用自訂模版
11.3.4 傳送到局部模版
11.3.5 傳送到檔案
11.3.6 傳送文字
11.3.7 傳送到內嵌模版
11.4 redirect_to方法重新導向
11.4.1 重新導向到指定的Action
11.4.2 透過URL重新導向
11.5 render和redirect_to方法頁面跳躍不同點
11.6 Session和Cookie
11.6.1 Session概述
11.6.2 操作Session
11.6.3 Cookie概述
11.6.4 操作Cookie
第12章 ActionView檢視層解決方案
12.1 模版
12.1.1 .erb模版
12.1.2 .builder模版
12.1.3 .rjs模版
12.1.4 局部模版
12.1.5 Layout模版
12.2 基本工具
12.2.1 顯示圖片
12.2.2 獲得圖片路徑
12.2.3 載入Javascript函式程式庫
12.2.4 獲得.js檔案路徑
12.2.5 載入CSS樣式檔案
12.3 格式化輸出
12.3.1 數位格式化
12.3.2 日期格式化
12.3.3 字串格式化
12.4 連結工具
12.4.1 建立超連結的方法
12.4.2 建立E-mail連結的方法
12.4.3 url_for方法
12.5 基本表單工具
12.5.1 Form表單
12.5.2 核對盒
12.5.3 fieldset標籤
12.5.4 隱藏標籤
12.5.5 傳送按鈕
12.5.6 顯示文字
12.5.7 密碼文字區塊
12.5.8 選項按鈕
12.5.9 下拉選項選單
12.5.10 建立文字區塊方法
12.6 高級表單工具
12.6.1 綁定表單與實體類別
12.6.2 建立下拉選項選單
12.7 日期/時間下拉選項選單
12.7.1 date_select方法
12.7.2 datetime_select方法
12.7.3 distance_of_time_in_words方法
12.7.4 與目前時間比較
12.7.5 select_*系列方法
12.8 使用Helper
12.9 使用快取記憶體
12.9.1 頁面快取記憶體
12.9.2 局部快取記憶體
12.9.3 Action快取記憶體
第三篇 用戶端和伺服器端開發篇
第13章 Ruby on Rails下的Ajax開發
13.1 Ajax簡介
13.1.1 什麼是Ajax
13.1.2 Ajax基本原理
13.1.3 Ajax優勢
13.1.4 Ajax組成部分
13.1.5 第一個Ajax實例
13.2 Rails Ajax概述
13.2.1 Prototype簡介
13.2.2 Scriptaculous簡介
13.2.3 內建模組
13.3 使用Ajax
13.3.1 發送非同步請求
13.3.2 非同步傳送表單
13.3.3 執行遠端JavaScript
13.3.4 發送自訂請求
13.4 Ajax視覺特效
13.4.1 視覺效果
13.4.2 拖動效果
13.4.3 順序重排清單
第14章 Ruby on Rails高級開發技術
14.1 發送郵件
14.1.1 SMTP簡介
14.1.2 基本步驟
14.1.3 建立郵件項目
14.1.4 建立功能框架
14.1.5 會員註冊
14.1.6 發送啟動郵件
14.1.7 啟動處理
14.1.8 會員登入
14.2 開發基於REST的應用程式
14.2.1 REST簡介
14.2.2 Rails與REST
14.2.3 使用REST
14.3 檔案上傳和下載
14.3.1 檔案上傳
14.3.2 檔案下載
14.4 FCKeditor文字編輯器
14.4.1 安裝FCKeditor
14.4.2 使用FCKeditor
14.4.3 使用技巧
第四篇 實例篇
第15章 留言版
15.1 系統分析
15.1.1 功能分析
15.1.2 設計資料庫
15.2 準備工作
15.2.1 建立項目
15.2.2 安裝分頁外掛
15.2.3 製作版面配置
15.3 功能實現
15.3.1 瀏覽留言
15.3.2 發表留言
15.3.3 檢視留言
15.4 管理留言
15.4.1 修改留言
15.4.2 回覆留言
15.4.3 刪除留言
15.4.4 管理員操作
第16章 電子拍賣系統
16.1 系統分析
16.1.1 需求分析
16.1.2 系統使用案例圖
16.1.3 設計資料庫
16.2 設計系統公共模組
16.2.1 建立專案以及設定系統
16.2.2 設計Layout模版
16.3 使用者模組
16.3.1 使用者註冊
16.3.2 登入/退出
16.4 商品分類別模組
16.4.1 增加商品分類
16.4.2 管理商品分類
16.5 拍賣商品模組
16.5.1 瀏覽個人拍賣商品
16.5.2 增加拍賣商品
16.5.3 管理拍賣商品
16.6 競拍模組
16.6.1 瀏覽所有拍賣商品
16.6.2 競拍商品與檢視競拍記錄
16.6.3 檢視個人競拍商品
16.6.4 檢視得標商品