Ruby
Ruby on Rails 重新設置 Database
重設 Database 的方法
Status
在重新設置資料庫前先執行 db:migrate:status
,看看現在資料庫的 migrate 的狀態是什麼。
1 | # rake db:migrate:status |
Basic
在重新設置資料庫時,最簡單的方法就是先把資料庫刪除,然後重新建一個,最後在 migrate:
1 | db:drop db:create db:migrate |
Ruby OptionParser Usage
OptionParser
這個東西在 python 應該是 setup script,而在 ruby 不知道叫什麼 google 了老半天終於被我找到了。用法上很簡單大概看 ruby doc 的範例就會使用了。
1 | require 'optparse' |
Ruby 使用 Enumerable 和 Comparable
Ruby 使用 attr accessor reader writer
Ruby 建立不存在的目錄 與 TempFile 的路徑
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 |