国产一区二区精品久久_蜜桃狠狠狠狠狠狠狠狠狠_午夜视频精品_激情都市一区二区

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 每天一劑Rails良藥之Creating Your Own Rake Tasks

每天一劑Rails良藥之Creating Your Own Rake Tasks
2010-01-14 07:12:08  作者:  來源:
Ruby的Rake工具其實是模仿的Make,我們寫一個簡單的Rakefile看看:
Java代碼 復制代碼
  1. desc "Rake Test"  
  2. task :main   
  3.   puts "Hello, Rake!"  
  4.      
  5. task :default => :main  

然后我們在Rakefile當前目錄運行rakerake -f Rakefile即可
其中我們定義了一個main task,并且將其設為默認task
我們再看看怎樣寫結合Rails的Rakefile,Rails在lib/tasks目錄里查找并加載所有以.rake作為后綴名的Rakefile,如lib/tasks/load_musicians.rake:
Java代碼 復制代碼
  1. desc "Load musicians and the instruments they play into the database."  
  2. task :load_musicians => ['musicians.csv', :environment] do |t|   
  3.   before_count = Musicians.count   
  4.   File.read(t.prerequisites.first).each do |line|   
  5.     given_name, surname, instrument = line.split(/,/)   
  6.     Musician.create(:given_name => given_name,   
  7.                     :surname => surname,   
  8.                     :instrument => instrument)   
  9.   end   
  10.   puts "Loaded #{Musicians.count - before_count} musicians."  
  11. end  

然后我們可以運行rake load_musicians命令來調用load_musicians task
該task的dependency列表中包含:environment,這是用來初始化Rails環境以及建立數據庫連接
如果我們自定義的task需要migrate,則我們可以這樣寫:
Java代碼 復制代碼
  1. task :load_musicians => ['musicians.csv', :migrate] do |t|  

則我們運行該task時會先rake db:migrate,而且:migrate已經初始化了Rails環境,我們不用再寫:environment了

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢