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、中國RubyConf China、台灣RubyConf Taiwan、COSCUP、WebConf.TW歷屆講者。2006年開始接觸Rails,從此愛上Ruby這個極具豐富樂趣及高生產力的程式語言。
筆者的部落格 https://ihower.tw 以及 Twitter 帳號 @ihower ,歡迎追蹤訂閱。
本書的目標讀者為網站開發工程師(Web Application Developer),比較不適合完全沒有網頁開發經驗的朋友,在學習 Rails 前,最好對以下知識有基本認識:
如果您有PHP/MySQL、Node.js、ASP、JSP等網頁應用程式開發經驗,相信這些對您應該不陌生。
本書支持的最新Rails版本是5.1,Ruby版本是2.4,並向下相容至 Rails 5.0+ 和 Ruby 2.3+,若有差異會特別補充說明。本書出版後請參考本書網站以獲得最新相容性修改。
你可以在 https://ihower.tw/rails/ 看到本書最新版本以及紙本勘誤。如果你有任何問題,也歡迎來信給我。
為了避免讀者混淆指令的使用情境,區分如下:
$
開頭的是指命令列下的指令>
開頭的是指在rails console
主控台下的指令#
是註解說明例如在以下的操作中,我們先輸入了rails console進入Rails的主控台,然後輸入Person.first
和Person.count
:
那麼在本書中,會這樣書寫:
$ 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(台北)網站開發工程師實戰營、新生大学全栈营(北京)讓我獲得寶貴的教學相長經驗。學員們強烈的求知慾,也不斷推進本書的進度。
這本書從開始寫,到完成出版,十年磨一劍。