Ruby on rails 如何避免依赖项的Rake任务名称冲突?

Ruby on rails 如何避免依赖项的Rake任务名称冲突?,ruby-on-rails,rake-task,Ruby On Rails,Rake Task,这导致了对:environment的循环依赖,我正试图依赖于Rails任务环境 这是如何正确设置的?我刚刚遇到了完全相同的问题,命名空间中的任务试图调用父命名空间中同名的任务。这确实是可能的 namespace :jobs do task :environment => [:environment] do #Something cool end end 您使用的每个插入符号将在名称空间层次结构中的更高级别开始名称解析。请参阅:您还应该能够说: namespace :job

这导致了对:environment的循环依赖,我正试图依赖于Rails任务环境


这是如何正确设置的?

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

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

您使用的每个插入符号将在名称空间层次结构中的更高级别开始名称解析。请参阅:

您还应该能够说:

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

“rake:”命名空间是顶级命名空间。这就像在ruby中使用::CONSTANT\u NAME。

你想做什么?您是否正在尝试向内置:环境任务附加一些代码?或者您真的只是想将自定义任务命名为:环境?如果是后者,那么就给它起个别的名字吧。我真的想把我的任务命名为:环境,重命名它并不能回答这个问题。
task :environment => [ 'rake:environment' ] do ... end