(私はRailsを使用していません)
渡された環境を次のように設定するrakeタスクがあります。
rake some:task ENV=test
私の仕事は:
desc "environment"
task :environment do
env = ENV['ENV'] || 'development'
end
今、私が次のようなタスクを持っている場合:
desc "t1"
task :t1 [:environment] do
puts env
end
envが不明であると言って失敗しますが、それはなぜですか?
私はルビーのダイナミックな性質がこれを行うだろうと思いました:
環境タスクを実行すると、env変数が作成されます。これは依存関係であるため、その変数は他のタスクの範囲内にあります。
範囲内に収まるようにするにはどうすればよいですか?
注:重要な場合に備えて、私のタスクの一部は異なる.rakeファイルにあり、それが何かを変更するかどうかについて言及しています。