Rai*_*ner 80 ruby rake ruby-on-rails
如何在终端/控制台中运行此rake文件?
我在lib/tasks中的statistik.rake
desc "Importer statistikker"
namespace :reklamer do
task :iqmedier => :environment do
...
end
task :euroads => :environment do
...
end
task :mikkelsen => :environment do
...
end
task :orville => :environment do
...
end
end
Run Code Online (Sandbox Code Playgroud)
And*_*all 112
您不应该在Rails控制台中运行Rake任务,而是在运行时在终端/命令提示符中运行
rake task_name
Run Code Online (Sandbox Code Playgroud)
如果你真的必须在Ruby中运行Rake任务,你应该能够做到:
Rake::Task['task_name'].invoke
Run Code Online (Sandbox Code Playgroud)
但这通常只在Rake任务本身完成,以运行另一个.
要使用单个任务在同一命名空间中运行多个任务,请在命名空间中创建以下新任务:
task :runall => [:iqmedier, :euroads, :mikkelsen, :orville] do
# This will run after all those tasks have run
end
Run Code Online (Sandbox Code Playgroud)
Luk*_*e W 23
Rake::Task['reklamer:orville'].invoke
Run Code Online (Sandbox Code Playgroud)
要么
Rake::Task['reklamer:orville'].invoke(args)
Run Code Online (Sandbox Code Playgroud)
有时您的rake任务不会在控制台中加载,在这种情况下,您可以尝试以下命令
require "rake"
YourApp::Application.load_tasks
Rake::Task["Namespace:task"].invoke
Run Code Online (Sandbox Code Playgroud)
如果您不确定如何运行 rake 任务,请首先找出您有哪些任务,它还会列出运行这些任务的命令。
rake --tasks在终端上运行。
它将列出如下任务:
rake gobble:dev:prime
rake gobble:dev:reset_number_of_kits
rake gobble:dev:scrub_prod_data
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下命令运行您的任务:rake gobble:dev:prime如所列。