不知道如何建立任务'rake tmp:clear'

时间:2016-06-16 20:25:01

标签: ruby-on-rails-4 rake rake-task

我习惯于增强佣金任务,但今天rake不想合作......

我特别希望增强rake tmp:clear。和往常一样,我试过这种方式:

Rake::Task["tmp:clear"].enhance do 
    puts "enhanced"
end

我总是在执行时获得Don't know how to build task 'rake tmp:clear'

我试图:

  • 重命名包含此段代码的xxx.rake文件。
  • 删除除此段代码之外的所有内容。
  • 查看rake tasks / tmp.rake源代码,看看tmp:clear是否有其他一些奇怪的处理。
  • 当然谷歌搜索了很多......

我最终没有任何解决方案/线索。

感谢您的帮助。 Flavien

脚注:

  • 如果我为"tmp:clear"更改"assets:clobber"例如,它可以正常工作。但仍然不适用于"tmp:cache:clear"或与tmp相关的其他内容。
  • 我使用rails 4.2

1 个答案:

答案 0 :(得分:2)

这也是我面临的一个问题,我终于能够追查到底发生了什么。在加载本地rake任务之前,rails似乎不包括tmp任务。这不适用于资产:但是因为它们没有在tmp rake tasks的同一位置声明。您可以看到有关声明的更多信息。我能够通过添加

来解决这个问题
require 'rails/tasks'

到任务中我的tmp.rake文件的顶部,所以在你的情况下它看起来像

require 'rails/tasks'

Rake::Task["tmp:clear"].enhance do 
    puts "enhanced"
end

然后一切都按预期为我工作。