7
task :some_task, :environment do |t, args|
  puts Rails.env #=> development, production, etc
  puts ENV #=> {}
end

我设置了一些环境变量(通过本地 .env 或通过 Herokusan 通过 Heroku Config),例如要使用的 AWS 存储桶,我想在 rake 任务中引用它们,但 ENV 是一个空哈希。我知道由于:environment任务依赖性而完成了与环境相关的某些事情并且Rails.env具有价值,但我不清楚细节。

那么,如何ENV在 Rake 任务中使用?

4

1 回答 1

6

两种好方法:

使用 Heroku 的“工头”工具。将所有环境变量放入.env

VAR=value

并运行foreman run rake some_task

或者(而且,我推荐这种方式),使用“费加罗”宝石。将您的变量放入config/application.yml

VAR: value

就是这样;rake some_task.

我会推荐后者,如果只是因为rake figaro:heroku它会推动你的环境,因为它是指定的application.yml

于 2013-12-18T06:00:40.980 回答