14

我在一个名为的文件中定义了如下的 rake 任务file_locker_task.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'
4

2 回答 2

26
  1. 从 Rails 主目录运行rake -T -A以查看 rake 知道的所有任务。您的必须在该列表中,rake 才能运行它。
  2. 默认情况下,在 Rails 应用程序中,rake 在lib/tasks目录及其子目录中查找您的.rake文件。检查那个。(我怀疑这是问题所在。)
于 2013-10-09T03:25:16.780 回答
-1

根据文档

任何 ruby​​ 文件(包括其他 rakefile)都可以包含在标准 Rubyrequire命令中。

-

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

于 2013-10-09T03:42:24.913 回答