如何通过rails中的命令行运行rake任务

时间:2013-10-09 03:13:09

标签: ruby-on-rails ruby rake

我在名为file_locker_task.rake

的文件中定义了rake任务,如下所示
namespace :myspace do
   task :process => :environment do
      FileLocker.lock_files   
   end
end

如何从命令行执行此rake任务? 我试过了:

rake myspace:processrake process但两者都抛出这样的错误:

rake aborted!
Don't know how to build task 'process'

2 个答案:

答案 0 :(得分:24)

  1. 从Rails主目录运行rake -T -A以查看rake知道的所有任务。你的必须在rake的列表中运行它。
  2. 默认情况下,在Rails应用程序中,rake会在lib/tasks目录及其.rake文件的子目录中查找。检查一下。 (我怀疑这是问题。)

答案 1 :(得分:-1)

根据docs

  

任何ruby文件(包括其他rake文件)都可以包含在标准的Ruby require命令中。

-

  

其他rake文件(文件扩展名为“.rake”)可以放在位于项目顶层的rakelib目录中(即包含主Rakefile的同一目录)。此外,rails项目可能在lib / tasks目录中包含其他rake文件。