我想从控制台调用我的rake任务.它可行吗?如果有,怎么办?
我在控制台上尝试了这个:
require 'rake'
Rake::Task['my_task'].invoke
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误:
RuntimeError: Don't know how to build task
Run Code Online (Sandbox Code Playgroud)
就像耙子找不到任务一样.
任何帮助,将不胜感激.
谢谢
编辑:我正在使用rails 2.3.5
Dan*_*ski 160
运行Rake任务需要两个步骤:
你错过了第二步.
通常这是在Rakefile中完成的,但你必须在这里手动完成:
require 'rake'
Rails.application.load_tasks # <-- MISSING LINE
Rake::Task['my_task'].invoke
Run Code Online (Sandbox Code Playgroud)
gar*_*rno 14
最简单的方法是从irb 运行%x [ command ].我不确定你想要实现的目标.
%x[rake db:migrate]
Run Code Online (Sandbox Code Playgroud)
编辑:我强烈建议使用.invoke
丹尼尔在接受的答案中说.
我正在使用rails 5.x.x
,并且需要做同样的表格rails console
。
我在这里创建了 rake 任务 -
app/lib/task_to_execute.rake
Run Code Online (Sandbox Code Playgroud)
这是对我有用的命令-
加载Rails.application.load_tasks
Rake::Task['task_to_execute:task_name'].invoke
Run Code Online (Sandbox Code Playgroud)
为我工作!
简单的方法是:
Rails.application.load_tasks
Rake::Task['my_task'].invoke
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35864 次 |
最近记录: |