2012-02-21 13 views
3
namespace :jobs do 
    task :environment => [:environment] do 
    #Something cool 
    end 
end 

これは私がちょうどRailsのタスクenvironmentに依存しようとしています循環依存:environmentを引き起こします。Rakeタスク名が依存関係になるのを避けるにはどうしたらいいですか?

これはどのように正しく設定できますか?

+0

あなたは何をしようとしていますか?組み込みの環境タスクにいくつかのコードを追加しようとしていますか?それとも、あなたは本当にあなたのカスタムタスクに名前をつけたいのですか?環境ですか?後者の場合は、別の名前を付けてください。 – MrDanA

+0

私は本当に私の仕事に名前をつけたい:環境と名前を変更することは質問に答えない。 –

答えて

10

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

「熊手:」名前空間は、トップレベルの名前空間です。これは、ルビーの:: CONSTANT_NAMEと同じです。

5

私はまさに同じ問題を抱えていました。ここでは、名前空間のタスクが親名前空間の同じ名前のタスクを呼び出そうとしています。これは確かに可能です。

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

使用するキャレットは、名前空間階層で1レベル上の名前解決を開始します。参照:また言うことができるはずhttp://rake.rubyforge.org/files/doc/rakefile_rdoc.html

+1

これも動作します –

関連する問題