2011-01-28 43 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