Ruby on Rails 實戰聖經

使用 Rails 5.0+ 及 Ruby 2.3+

電子書製作中,歡迎留下 E-mail,有消息將會通知您。若您有任何意見、鼓勵或勘誤,也歡迎來信給我。願意贊助支持的話,这是我的支付宝微信 和乙太幣 ETH 地址
0x232b7245EBE02900c21682be1e6Ad4e839751F6a

關於本書

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

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

》回到頁首