你如何避免依赖的Rake任务名称冲突?

时间:2012-02-21 16:54:19

标签: ruby-on-rails rake-task

namespace :jobs do
  task :environment => [:environment] do
    #Something cool
  end
end

这导致:environment上的循环依赖,我只是想依赖于Rails任务environment

如何正确设置?

2 个答案:

答案 0 :(得分:10)

你也应该说:

task :environment => [ 'rake:environment' ] do ... end

'rake:'命名空间是顶级命名空间。这就像在ruby中做:: CONSTANT_NAME。

答案 1 :(得分:5)

我刚刚遇到了完全相同的问题,其中命名空间中的任务试图在父命名空间中调用同名的任务。这确实是可能的。

namespace :jobs do
  task :environment => [ '^environment' ] do
    #Something cool
  end
end

您使用的每个插入符号将在命名空间层次结构中开始更高级别的名称解析。请参阅:http://rake.rubyforge.org/files/doc/rakefile_rdoc.html