Nar*_*tor 5 ruby-on-rails environment-variables rake-task
task :some_task, :environment do |t, args|
puts Rails.env #=> development, production, etc
puts ENV #=> {}
end
Run Code Online (Sandbox Code Playgroud)
我设置了一些环境变量(通过本地.env,或通过Herokusan通过Heroku Config),例如要使用的AWS桶,我想在rake任务中引用它们,但ENV是一个空哈希.我知道与环境有关的事情因为:environment任务依赖而有所作为并且Rails.env有价值,但我不清楚细节.
那么,我如何ENV在Rake任务中使用?
两种好方法:
使用Heroku的"Foreman"工具.将所有环境变量放入.env:
VAR=value
Run Code Online (Sandbox Code Playgroud)
并运行foreman run rake some_task.
或者(并且,我推荐这种方式),使用"费加罗"宝石.把你的vars放入config/application.yml:
VAR: value
Run Code Online (Sandbox Code Playgroud)
就是这样; rake some_task.
我推荐后者,只是因为rake figaro:heroku它会按照指定的方式推动你的环境application.yml
| 归档时间: |
|
| 查看次数: |
5854 次 |
| 最近记录: |