雖然現在學 Rails 的人很多(有興趣者可看筆者的 Rails 自學之路-Rails 簡介與自學重點),但 Rails 的世界中有許多容易讓新手感到困惑的曖昧之處,新手往往會面臨一段很長的撞牆期。本篇教學將拆解幾個容易讓新手受委屈的地方,以期讓新踏入 Rails 世界的朋友自學的更加順遂。(鄭重聲明:此處所謂的「曖昧」是以初學者的角度而言,熟悉 Rails 的邏輯後,會發現這些東西其實涇渭分明,一點都不曖昧)。
要從頭開始一個全新的 Rails 專案,少不了要以下幾個步驟。
透過 gem 裝一些套件
gem install bundler
gem install rails
用 rails 指令建立新專案
rails new My_APP
裝入專案要用到的套件(gem)
bundle install
建立資料庫
rake db:create
遙想當年初探 Rails 之時,我一行 code 都還沒寫就已經被各項指令弄得暈頭轉向了。
所幸,用中文整理一次的話,這些指令其實也沒那麼令人無法親近。
開發 rails 專案少不了要和資料庫系統( database system )互動,為了用 Ruby 和資料庫系統互動,而不用自己進資料庫下資料庫的指令,我們會用 database adapter 和 database system 溝通,例如以 postgresql 為 database system 時 adapter 就叫 “pg”。
adapter 的工作就是在 ActiveRecord 中讓我們用 Ruby 的語法和 database system 溝通。 adapter 和 system 是完全不同的事,安裝時當然也是要分開安裝。
遙想當年我誤以為 adapter 和 system 是同一件事,可是在電腦前抓破腦袋都想不通為何我明明已經在 Gemfile 中裝 “pg” 了,rails server 卻跑不起來。
結論
開發 Rails 需要用到的指令雖然讓人目不暇給,但總結起來只有四個群組。分清楚這些群組各自的職責後,使用指令也就沒那麼令人噁心想吐了。