Programming
Ruby 使用 Enumerable 和 Comparable
Ruby 使用 attr accessor reader writer
Ruby 建立不存在的目錄 與 TempFile 的路徑
Sass 整理一些常用的方法
Ruby on Rails Assets Pipeline 的使用方式
Assets Pipeline
在 config/initializers/assets.rb
中把 assets 加入 precompile 的路徑,不建議使用 *.css *.js
加入所有的東西,因為會將一些有的沒的或是不需要的東西一起編譯進去。
assets pipeline 的主要好處就是把所有的 css 包成一個檔案,漸少 request 的數量,像是 application.css
會載入所有被 require
的檔案,最後只需要傳送一個 css 就行了,同理 javascript 也是如此。
Layout
看不懂在說什麼,直接看例子比較快。
假設現在我們的 layout 裡面有兩個不同的頁面 admin.html.erb 跟 user.html.erb,要分別讓他們使用不同的 css js。
1 | app |
但為了減少請求的數量,我們讓一個 layout 只需要一個 css 和一個 js,在 layout 中的話會像這樣:
1 | # app/views/layouts/admin.html.erb |
如果使用 admin 的 layout 就會載入 admin.css
admin.js
。
如果使用 user 的 layout 就會載入 user.css
user.js
。
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 |