namespace :jobs do
task :environment => [:environment] do
#Something cool
end
end
这导致:environment
上的循环依赖,我只是想依赖于Rails任务environment
。
如何正确设置?
答案 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