[英]How do I pass environmental variables to a Rake task invoked from another Rake task?
[英]How do I pass parameter to a rake task that is invoked using Rake::Task
這是我的佣金任務
task :lab => :enviroment do
Rake::Task["db:rollback"].invoke('STEP=5')
end
它沒有做我想要的。 我想要的是
rake db:rollback STEP=5
我在ruby 1.9.2上使用Rails 3.2.1。
在命令行上我想執行
rake lab
真實情況要復雜得多,但這就是主宰。
task :lab => :enviroment do
ENV['STEP'] ||= 5
Rake::Task["db:rollback"].invoke
end
通過在rake命令上指定鍵/值對,可以將選項傳遞給rake:
rake options:show opt1=value1
然后,這些命令行選項將自動設置為可在rake任務中訪問的環境變量:
namespace :options do
desc "Show how to read in command line options"
task :show do
p "option1 is #{ENV['opt1']}"
end
end
將此作為環境變量傳遞可能是您最好的選擇。 嘗試:
task :lab => :enviroment do
Rake::Task["db:rollback"].invoke(ENV['STEP'])
end
rake db:rollback STEP=5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.