> 本書原文出處:http://rails-practice.com/
> 作者:里克
你好,我是里克,2007年開始從事 Rails 開發工作。《Rails 實踐》這本書,是我第一次編寫完整的教程,對我來說,它更像是對過往經驗的總結。
本書通過一個在線網店程序的開發過程,帶領大家了解 Rails 全貌。第一章,我們安裝 Ruby 和 Rails 的開發環境,并學習如何設計項目 UI。第二章,我們講解 Rails 中的資源含義,學習 Rails 如何實現 REST 風格架構,感受 Rails 的快捷開發。第三章,我們關注 Rails 的視圖,從頁面部分開始了解 MVC 框架。第四章,我們關注數據庫部分,講解 Rails 中的 M。第五章,我們在了解控制器的同時,完成我們網店的購買功能。第六章,我們學習 Rails 中的各種配置,并將它在云服務器上部署運行。
在閱讀本書同時,也希望你能閱讀其他 Ruby 和 Rails 的教程,博客和新聞,增加知識儲備。
> 寫出正確的代碼是需要理由的。
## 閱讀電子版
本書電子版為免費閱讀,目前有兩個指定的發布地址:
獨立域名:[http://rails-practice.com/](http://rails-practice.com/)
極客學院wiki:[http://wiki.jikexueyuan.com/project/rails-practice/](http://wiki.jikexueyuan.com/project/rails-practice/)
## 本書視頻
根據本書內容錄制的《Rails 實踐》系列課程視頻,已經在極客學院上線。
- [Ruby on Rails 開發準備](http://www.jikexueyuan.com/course/650.html?hmsr=teacher_liweirails_c650)
- [Rails 中的資源](http://www.jikexueyuan.com/course/741.html?hmsr=teacher_liweirails_c741)
- [Rails 中的視圖](http://www.jikexueyuan.com/course/788.html?hmsr=teacher_liweirails_c788)
- Rails 中的模型(錄制中)
- Rails 中的控制器(已完成)
- Rails 的配置及部署(已完成)
## 本書讀者
本書適合期望使用 Rails 制作 Web 網站的開發者,讀者需要具備基礎的 HTML,JS 和 CSS 知識,并且了解 Ruby 基本語法。你可以從未使用過 Ruby 和 Rails,這沒關系,本書會帶領你從安裝 Ruby 環境開始,直到完成這個 Rails 項目。
在學習的過程中,我建議讀者注冊一個 github.com 賬號,建立一個學習筆記的代碼倉庫(Repo)中。
## 本書約定
- 名詞首字母大寫。
- 英文縮寫大寫。
- 命令小寫。
- 作為名詞時,首字母大寫,作為命令時 小寫。Rails,Ruby 同。
- 專有名詞不翻譯。
- 專有名詞按照約定書寫,如 iPhone,iMac,html,js,css,php,jQuery 等等。
- 中文和英文間留有空格。
- 命令行中,當前用戶操作使用 `%` 開頭,root 用戶操作,用 `$` 開頭。
## 版權聲明
本書的著作權歸作者李瑋(署名:里克)所有。
你可以:
- 下載、保存以及打印本書
- 網絡鏈接、轉載本書的部分或者全部內容,但是必須在明顯處提供讀者訪問本書發布網站的鏈接
- 在你的程序中任意使用本書所附的程序代碼,但是由本書的程序所引起的任何問題,作者不承擔任何責任
你不可以:
- 以任何形式出售本書的電子版或者打印版
- 擅自印刷、出版本書
- 以紙媒出版為目的,改寫、改編以及摘抄本書的內容
## 讀者反饋
本書的文字版在 [http://rails-practice](http://rails-practice),你可以在 [https://github.com/liwei78/rails-practice/issues](https://github.com/liwei78/rails-practice/issues) 頁面寫下你的問題,也可以留下意見和建議。
## 示例代碼
[https://github.com/liwei78/rails-practice-code](https://github.com/liwei78/rails-practice-code)
你可以 `fork` 這份代碼到自己的代碼倉庫(Repo)中,修改并提交,然后向我的代碼倉庫提交 `Pull Request`,如果修改無異議,我將合并到 master 中。
## 作者介紹
李瑋,網名里克,2007年開始從事 Rails 開發,先后經歷過社會化搜索引擎 deyeb,華為生活社區百草網,電商平臺等開發工作。目前就職于北京迅思科技課程樹研發團隊。
工作之余,擔任長春心語志愿者協會網絡顧問,Rails Girls China 編程教練。
## 里克的自習室公眾號

## 感謝
感謝我的公司北京迅思科技及 [課程樹](http://www.lessontree.cn/) 團隊中的每位成員。
感謝所有關注過 [里克的自習室](http://railser.cn/) 的朋友們。
感謝 [Ruby China 社區](https://ruby-china.org)。
- 寫在前面
- 第一章 Ruby on Rails 概述
- Ruby on Rails 開發環境介紹
- Rails 文件簡介
- 用戶界面(UI)設計
- 第二章 Rails 中的資源
- 應用 scaffold 命令創建資源
- REST 架構
- 深入路由(routes)
- 第三章 Rails 中的視圖
- 布局和輔助方法
- 表單
- 視圖中的 AJAX 交互
- 模板引擎的使用
- 第四章 Rails 中的模型
- 模型的基礎操作
- 深入模型查詢
- 模型中的關聯關系
- 模型中的校驗
- 模型中的回調
- 第五章 Rails 中的控制器
- 控制器中的方法
- 控制器中的邏輯
- 第六章 Rails 的配置及部署
- Assets 管理
- 緩存及緩存服務
- 異步任務及郵件發送
- I18n
- 生產環境部署
- 常用 Gem
- 寫在后面