3

这是我设置 ENV 变量的方法

#~/repos/project
export GA_USERNAME="email@gmail.com"

当我尝试ENV['GA_USERNAME]在我的应用程序中使用时,它返回 nil。但是,在控制台中,它奇怪地打印了变量,然后返回 nil ...

1.9.2-p320 :003 > puts ENV['GA_USERNAME']
email@gmail.com
=> nil 

编辑我认为我的 ENV 变量不会持续存在。当我重新启动计算机时,变量为零,需要再次设置。

4

1 回答 1

1

为服务器进程设置环境变量的传统方法是:

RAILS_ENV=production GA_USERNAME=foobar rails s

如果您想以持久的方式指定环境变量,例如在文件中,请尝试figaro. 自述文件告诉你如何开始,但想法是:

  1. rails generate figaro:install
  2. 编辑config/application.yml(最后一个命令创建的)
  3. 在您的应用程序中,它将自动设置每个环境(生产、开发、测试)变量

更新

dotenv可能是一种更好更简单的方法:

  1. gem 'dotenv-rails', :groups => [:development, :test]
  2. 将跨环境键值对放入.env
  3. 放置特定于环境的对.env.test.env.development

有关所有详细信息,请参阅他们的 README。

于 2013-04-12T16:40:56.803 回答