First initialize & 撰寫README
Gemfile是Rails用來管控外掛套件的工具，跟NodeJS的package.json差不多用途。
撰寫的語法是 `gem '套件名稱'`，可以在github或Google找套件，一般都有教你怎樣安裝。
寫好後存檔離開，在終端機中專案的目錄下輸入`bundle install`來安裝套件。
執行`rails generate devise:install`來安裝devise這個會員管理的套件。
透過 `rails generate devise User` 來透過devise建立以User為名的Model以及相關功能，然後執行 `rake db:migrate` 來產生資料表。
透過`rails generate auto_facebook:user`, `rake db:migrate`, `rails generate auto_facebook:install` 來快速建立Facebook登入功能，然後在 `config/initializers/devise.rb` 檔案中填入Facebook App的AppID & Secret token。
這個東西應該要拿掉
透過 `rails generate scaffold Word user:belongs_to raw translate`來建立WordsController / Word model 以及View，快速建立起一個可以用的系統雛形。
透過 `rake db:migrate` 進行資料表新增。
然後把 words controller 的 index action 設定為網站首頁，也就是說瀏覽到根目錄的時候會導向words這個controller的index action。
總是要讓版面稍微好看一點吧？所以加上了bootstrap。
這樣會強迫除了index / show以外的action在收到request的時候檢查使用者是否登入了，如果沒登入會被導到登入頁面
讓User model 與 Word model建立一對多關係
讓新增、更新、刪除單字資料時都只能與使用者本身作關聯
透過`rails g model Comment user:belongs_to word:belongs_to content`建立Comment model
透過 `rails g controller comment`來建立CommentsController，並且在`config/routes.rb`中宣告comments是嵌套在words底下的resource
建立關聯
建立起新增Comment時會有的動作。
`current_user.comments` 代表的是登入的使用者底下的comments collection。
透過`current_user.comments.build(params[:comment])`來在當前登入的使用者之下的comments集合中建立一筆Comment暫存資料，等到save的時候就會儲存到資料庫中。
如果儲存成功的話就會把畫面轉回到單字頁面，如果失敗的話資料不會儲存，但是一樣是顯示單字頁面，但是會保留輸入的評論內容。
在單字頁面中顯示評論
在單字頁面中可以新增評論。
`validates`是用來作輸入驗證的。
`render 'words/show'` 表示顯示words底下的show這個template。
加上考試功能的網址路由設定
撰寫回傳測試單字的函式，使用方式是 `Word.for_test`。