我想从控制台调用我的rake任务。可以吗 如果是,该怎么办?
我在控制台上尝试了这个:
require 'rake'
Rake::Task['my_task'].invoke
但是它给了我这个错误:
RuntimeError: Don't know how to build task
就像耙子找不到任务一样。
任何帮助,将不胜感激。
谢谢
编辑:我正在使用rails 2.3.5
Answers:
运行Rake任务需要两个步骤:
您缺少第二步。
通常,这是在Rakefile中完成的,但是您必须在此处手动进行:
require 'rake'
Rails.application.load_tasks # <-- MISSING LINE
Rake::Task['my_task'].invoke
.invoke
和的区别.execute
,如果您需要多次运行任务(例如,带有应用程序的数据完整性检查程序启动时间太长),则需要执行.execute
该任务。
.invoke(arg1, arg2,...)
简单的方法是:
Rails.application.load_tasks
Rake::Task['my_task'].invoke