Link Search Menu Expand Document

Ruby on Rails 實戰聖經

關於本書

我是 ihower,本書介紹 Ruby on Rails 這套開放原始碼的網站開發框架。

內容涵蓋了 Ruby on Rails 大部分的常用功能以及介紹,本書拆分成數個部分:

  • Part 1 為入門導覽,實作一個活動管理系統。這部分有二十六集的教學系列影片 (Youtube)涵蓋 Part1 的所有內容。影片是我在 ALPHA Camp 時期拍攝的(當時的 Rails 版本是 4.2)。

  • Part 2: 是我在北京全棧營時期製作的 Step by Step 教材(當時的 Rails 版本是 5.0),現已免費開放(感謝 xdite)。當初是針對中國大陸的學生寫的簡體版本,這裡重新編排和更新內容。

  • Part 3: 深入介紹 Rails 的各種元件和進階主題

  • Git 版本控制: 現代軟體開發必備工具

  • 應用程式開發基礎: 給初學者的基礎電腦科學知識,包括程式語言、資料庫、網路概論等等內容。

由於本書寫作時間跨越 Rails 3.2 至 Rails 6,因此有些截圖和最新版本不同,也不保證所有步驟能夠相容於最新版本。但大部分應該沒問題,若有已知問題會補充說明。另外內容有些繁簡電腦術語(對照表)混用,還請多多見諒。

歡迎訂閱本書最新消息,勘誤請來信 ihower@gmail.com

關於作者

張文鈿,網路上的代號為 ihower,曾擔任日本 RubyKaigi、中國 RubyConf China、台灣 RubyConf TaiwanCOSCUP 歷屆講者。2006年開始接觸 Rails,從此愛上 Ruby 這個極具豐富樂趣及高生產力的程式語言,並於2018年成立愛好資訊科技有限公司

歡迎追蹤 Twitter 帳號 @ihower 和部落格 https://ihower.tw

筆者公司也有開 Junior Developer 職缺,請前往 CakeResume 瀏覽內容。

Telegram 社群

歡迎加入愛好 Rails 公開群,分享討論 Ruby on Rails 相關技術。

贊助支持

若覺得本書的內容對您有幫助,歡迎透過以下方式贊助支持:

目標讀者

本書的目標讀者為網站開發工程師(Web Application Developer),比較不適合完全沒有網頁開發經驗的朋友,在學習 Rails 前,最好對以下知識有基本認識:

  • 基本的程式設計能力,了解什麼是變數、控制流程、迴圈、函式、陣列等等
  • HTML/CSS 網頁設計
  • 對網路通訊協定 HTTP 有基礎認識
  • 對 RDBMS 關聯式資料庫和 SQL 語法有基本了解
  • 基本的指令列操作 (CLI: Command line interface),Unix-like 作業系統為佳

如果您有 PHP/MySQL、Node.js、ASP、JSP 等網頁應用程式開發經驗,相信這些對您應該不陌生。 若您沒有這些經驗知識,可以先參考本書的應用程式開發基礎章節。

本書想要涵蓋的重要新功能,但還沒空寫

本書不涵蓋的功能

筆者認為用不到或不好用的功能:

  • Encrypted Credentials: 原本的 secrets.yml 方法比較簡單好用
  • Active Record 的 has_secure_token: 用 Devise gem 就好了
  • Active Record 的 enums: 資料就用 string 儲存就好了,可讀性比較高
  • Action Mailbox: 很少會做收信功能
  • Action Cable: 開發起來是蠻方便的,但是 Ruby 伺服器不太適合做 real-time 應用,因此不敢上 production 實用。除非 WebSockets 伺服器要換成用 AnyCable
  • Rails 內建的 Testing: 本書和大多數人都會改用 RSpec 來寫測試
  • Routing Concern, Shallow 用法: 不必要,沒用到
  • ActionController 的 Live Streaming: 就是 Server-Sent Events 方案。但是要做 real-time 的話會優先考慮更多人用的 WebSockets 方案。
  • Action Mailer Previews: 本書改用 letter_opener gem
  • Rails API-only 模式: 這麼做就浪費 Rails server-side rendering 的強項了
  • Multiple database support: 沒用到

致謝

本書起初的材料來源,來自於準備中研院自由軟體鑄造場 OSSF 自 2008 年起主辦的Ruby on Rails工作坊課程,感謝OSSF對於開源軟體和開源社群的支持。本書在撰寫過程也收到非常多台灣和中國大陸讀者來信勘誤指教,對這本書產生了良性回饋,在此感謝:hSATAC、timloo0710、seekcalm、ETBlue、Michael Wang、liukai、inepalon、Ya-yu Huang、aiasfina、David Chuang、Yu-Yao Chang、yang thomas、inepalon、guan-ting chen、Eric.Xiong、pptpb.tw、saitoTK、le jerry、jeffchen1453、EvenWu、Jasper CAI、dreamy0909、JmeHsieh、逍遥、Mark GK、LiChun、tonytonyjan、Kang-Yu Li、曾小黑、Pomin Chen、jzg、ayaya、Juanito Fatas、紅音也、Vincentzh、idarfan、lixing、jerrycheng、maxz、TaopaiC、Fukuball、klobo、liyq205、EIA ANG、caiguo、良葛格、Lam、Daniel Tsai、Hillman Yang、sdjcw13、Jingqiang、foxzool、danix、Yang Weiqi、周裕波、David Chang、张杰、Sgar Wang、zw963、feynixs、Youhua Wang、韩冰、Silver Chen、Kerby Wang、贵超、everyx Lo、shch、David Huang、士揚、Dars、小強、Daniel Yuen、Kevin Shen、floydsoft、Yuan-Hong Zeng、纪东、浩翔、Cray Kao、Theresa、奕辰、WM、Po-Yu、ZhaoZijie、Sean Chen、克彥、庆冲、Gary Cruise、Lester、yousheng、詩凱、Wei-Luan、Zen David、beta shepherd、佳和、凤祥、odin、ChengYu、Bill Chang、Yuting、家倫、Hwang Acer、Losepacific、yellowstar520、lcc、Phoebe Chang、 Akii、illusion、冠雄、Meng-Ying、Su Billy、nico zhang、聖明、Kai Yang、竑昕、Singhigh、Ya Ian、Lance Lin、David Liu

感謝 gogojimmy雨蒼Juanito Fatas 協助撰寫了部分內容和潤稿。

感謝 ALPHA Camp 網站開發工程師實戰營、新生大学全栈营(北京)讓我獲得寶貴的教學相長經驗。學員們強烈的求知慾,也不斷推進本書的進度。

最後感謝愛好資訊科技的同事 Nacho、Gene、Wells 在工作之餘幫忙勘誤。

線上參考資源(英文)


Copyright © 2010-2021 Wen-Tien Chang All Rights Reserved.