Rails如何运行rake任务

如何在terminal/控制台中运行这个rake文件?

我的statistik.rake在lib /任务

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 

您不应该在Rails控制台中运行Rake任务,而应该在terminal/命令提示符下运行

 rake task_name 

如果你真的必须在Ruby中运行一个Rake任务,你应该能够做到:

 Rake::Task['task_name'].invoke 

但是通常只能在Rake任务本身上运行另一个。

要使用单个任务在同一名称空间中运行多个任务,请在名称空间中创build以下新任务:

 task :runall => [:iqmedier, :euroads, :mikkelsen, :orville ] do # This will run after all those tasks have run end 
 Rake::Task['reklamer:orville'].invoke 

要么

 Rake::Task['reklamer:orville'].invoke(args) 

你尝试过rake reklamer:iqmedier

我的自定义rake任务在lib目录中,而不在lib / tasks中。 不知道这是否重要。

这里是一个非常好的教程运行耙子任务,我发现有帮助..

http://jasonseifer.com/2010/04/06/rake-tutorial

在轨道4.2上面的方法不起作用。

  1. 去terminal。
  2. 将目录更改为rake文件所在的位置。
  3. 运行rake task_name。
  4. 在上面的情况下,运行rake iqmedier – 将只运行iqmedir任务。
  5. 运行耙欧元 – 将只运行欧元的任务。
  6. 要运行该文件中的所有任务,请在同一文件中分配以下内容并运行所有的耙

     task :all => [:iqmedier, :euroads, :mikkelsen, :orville ] do #This will print all the tasks o/p on the screen end