Ruby on Rails
Ruby on Rails 在 production 環境下跑 rails 5 專案
Production Mode
資料庫 Migrate
migrate production 環境下的資料庫,至於設定檔就不在這邊多說了。
1 | RAILS_ENV=production rake db:migrate |
產生 Secret Key
在 config/secret.yml
這個檔案裡面需要 production 環境的 secret key。
1 | # config/secret.yml |
用終端機產生 secret key,然後放置環境變數中。
1 | 產生 secret key |
Ruby on Rails Devise 與 註冊時輸入使用者名稱
註冊時輸入使用者名稱
在產生 rails generate devise:views users
後,然後在註冊的地方增加 username 的欄位。
1 | # app/views/users/registrations/new.html.erb |
在 controller 增加允許使用者欄位的驗證。
1 | # app/controllers/application_controller.rb |
Ruby on Rails 設定 Devise 與 註冊 登入 登出
Ruby on Rails 中使用 Rspec
Ruby on Rails 用 Factory Girl 自動產生 rspec 測資
安裝
在 Gemfile
加上以下的部分,然後執行 bundle
。
1 | # Gemfile |
設定
在 spec/support/factory_girl.rb
新增一個檔案,且加入以下的東西。
1 | # RSpec |
然後在 spec/spec_helper.rb
的最前面加入以下行,使用 factory_girl 的設定檔。
1 | ## spec/spec_helper.rb |
Ruby on Rails 中使用 UUID primary key
PostgreSQL
在 PostgreSQL 中有支援 UUID 為唯一 ID,所以在 PostgreSQL 使用 UUID 是相對簡單的。在
migration 裡面,我們要告訴 PostgreSQL 使用 UUID extension,這樣能夠讓 PostgreSQL
自動對每一個物件建立唯一的 UUID,而不是讓 Ruby On Rails 花費額外的時間來處理。
使用 PostgreSQL 前在 Gemfile 中加上以下這行。
1 | # Gemfile |
設定 adapter 為 postgresql
1 | default: |
設定 postgresql 的密碼
1 | export PG_PASSWORD=xxxxxx |
Ruby on Rails Debug ByeBug 使用
使用
在程式碼中想要中斷的地方加入 byebug
,程式執行到 byebug
這個位置則會停下來讓使用者 debug。而至於進入 Debug 頁面能幹麻,大致上跟 GDB Debug 差不多,一步一步的執行,然後檢查每一個參數的值。
1 | # 進入 byebug 頁面 |