Ruby on Rails 實戰聖經

使用 Rails 5.0+ 及 Ruby 2.3+

電子書製作中,歡迎留下 E-mail,有消息將會通知您。若您有任何意見、鼓勵或勘誤,也歡迎來信給我。願意贊助支持的話,這是我的微信 QR Code,謝謝。

關於本書

The biggest mistake that you can make is to believe that you are working for somebody else. Job security is gone. The driving force of a career must come from the individual. Remember: Jobs are owned by the company, you own your career! - Earl Nightingale

本書涵蓋了Ruby on Rails絕大部分的常用功能以及介紹,為了兼顧入門及實戰,本書拆分成兩個部分:Part 1前八章為入門實踐,一步一步實作出一個活動管理系統、Part 2為深度剖析各種元件和高階議題。本書期許可以讓有些許經驗的網頁程式設計師,可以在本書中學習Rails之道,將之實際應用在工作之中。

關於作者

張文鈿,網路上的代號為ihower,曾擔任RubyKaigi 2011RubyConf ChinaOSDC.TWCOSCUPWebConf.TW歷屆講者。2006年開始接觸Rails,從此愛上Ruby這個極具豐富樂趣及高生產力的程式語言。我目前為新生大學全棧營的首席研究員。

筆者的部落格 https://ihower.tw 以及 Twitter 帳號 @ihower ,歡迎追蹤訂閱。

目標讀者

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

如果您有PHP/MySQLNode.jsASP、JSP等網頁應用程式開發經驗,相信這些對您應該不陌生。

軟體版本

本書支持的最新Rails版本是5.1Ruby版本是2.4,並向下相容至 Rails 5.0+ 和 Ruby 2.3+,若有差異會特別補充說明。本書出版後請參考本書網站以獲得最新相容性修改。

本書網站

你可以在 https://ihower.tw/rails/ 看到本書最新版本以及紙本勘誤。如果你有任何問題,也歡迎來信給我。

本書體例

為了避免讀者混淆指令的使用情境,區分如下:

  • 錢號$開頭的是指命令列下的指令
  • 大於>開頭的是指在rails console主控台下的指令
  • 井號#是註解說明
  • 其他則是程式原始碼

例如在以下的操作中,我們先輸入了rails console進入Rails的主控台,然後輸入Person.firstPerson.count

Style screenshot

那麼在本書中,會這樣書寫:

$ rails console
Loading development environment (Rails 5.1.0.rc2)
> Person.first # <Person id: 1>
> Person.count # 1

簡體版致謝

本書簡體版透過 siuying/zhconv 進行繁簡互換,在此感謝。

致謝

本書起初的材料來源,來自於準備中研院自由軟體鑄造場 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

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

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

這本書從開始寫,到完成出版,十年磨一劍。

》回到頁首