模組化

  • 方便管理寫好的功能、程式碼,並讓多個檔案共用。
  • 多人協作時,減少衝突狀況。
  • 目錄在同一層時,就可以取用。
require './abc.rb' #將.rb檔引入
require ('./abc.rb') #require是方法,所以有小括號
require './abc'  #這裡的副檔rb被省略仍可以取到值
  • require不是什麼都不做單純載入,是會執行內容的。
  • 載入過的,只會載入過一次。
load './abc.rb' #功能相同,但重複load相同檔案時,會重複載入
load './abc.rb' #使用load要載入時副檔rb就不可被省略
  • 用Rail本地開發時,就是用load在讀著檔案,因為會重複載入,這樣才能邊改code邊同步看到修改後的效果。
  • 上線後,就會用require,因為效能較好。

Rake

  • Rake = Ruby版的make >make: 一種C語言編譯工具,用以打包適合你平台的套件,提供你安裝。

在軟體開發中,make是一個工具程式,經由讀取叫做『makefile』的檔案,自動化建構軟體。

Rake是一個工具程式,藉由讀取叫做Rakefile的檔案來執行任務腳本,而這些任務腳本就是所謂的task。

操作方式

  1. 建立目錄
  2. 使用編輯器開啟所建立的目錄
  3. 在該目錄下建立Rakefile.rb檔案(檔名要正確)
  4. 輸入欲執行的指令
  5. 這裡使用:sendmail作為命令,執行任務
  6. 回到終端機並cd至該目錄下
  7. 指令:rake sendmail #rake + 命令

  • 使用rake -T,檢視該目錄下有哪些任務可執行
  • 先在檔案裡為這個任務加上敘述
  1. 至終端機輸入rake -T

可以看到目前rake目錄裡有:sendmail # mail sender

預設任務

  • 在編輯器裡加上 :default 並指向 sendmail

  • 這樣即使在終端機上僅輸入rake,也可得到預設的任務

如何印出 db:migrate

  • 外面再使用namespace包覆即可