2011-01-28 42 views
47

我想從控制檯調用我的耙子任務。它可行嗎?如果是的話,該怎麼做?如何從控制檯運行rake任務?

我想這在控制檯上:

require 'rake' 
Rake::Task['my_task'].invoke 

,但它給我這個錯誤:

RuntimeError: Don't know how to build task 

這就像耙無法找到的任務。

任何幫助,將不勝感激。

謝謝

編輯:我使用的鐵軌2.3.5

回答

111

運行你的Rake任務需要兩個步驟:

  1. 加載
  2. 加載您Rake任務

你缺少的第二步。

通常這是在Rake文件完成的,但你必須做手工的位置:(請確保您與您的Rails應用程序名稱替換MyRailsApp

require 'rake' 
MyRailsApp::Application.load_tasks # <-- MISSING LINE 
Rake::Task['my_task'].invoke 

13

最簡單的方法來做到這一點是從IRB跑%×[命令]。我不確定你想達到什麼。

%x[rake db:migrate] 

編輯:我強烈建議使用.invoke丹尼爾在接受的答案說。

+0

問題是,耙沒有按似乎沒有認出我的任務。任何想法爲什麼? – Fajarmf 2011-02-20 22:25:34

+0

你能告訴我你的Rakefile嗎? – garno 2011-03-02 14:46:40