2012-05-23 113 views

回答

2

在要從中運行任務的目錄中創建一個名爲rakefile的文件。 此代碼將讓這個如果你只需要輸入「回扣」 my_default_task將運行:

task :default => 'my_default_task' 

    task :my_default_task do 
    puts "Now I am doing the task that Tempus wants done when he/she types 'rake' in the console." 
    end 

    task :my_not_default_task do 
    puts "This isn't the default task." 
    end 

但是,如果你輸入rake my_not_default_task,然後my_default_task不會跑。如果你希望它無論跑這裏是一兩件事可以做:

task :default => 'my_default_task' 

task :my_default_task do 
    puts "This is the default task" 
end 

task :my_not_default_task do 
    puts "This isn't the default task." 
end 

Rake::Task['my_default_task'].invoke 

此代碼中的最後一行確保my_default_task當你調用其他一些任務甚至可以運行,因此,如果您鍵入rake my_not_default_taskmy_default_task「也將跑。

編輯: 當你與軌工作,你可以把上述任務的文件中lib/tasks文件夾的.rake和鐵軌的延伸會自動地運行它們,當你做rake

Jason Seifer has a real nice tutorial on rake

+0

當然,但我怎麼做,即使我調用Rails相關的任務,我的任務會跑? – Geo

+0

@Tempus我編輯了答案來回答你關於Rails中Rake的問題。 – vlasits