1

我正在尝试将 Figaro gem 与 Sinatra 一起使用。我已经安装了 Figaro,它创建了以下文件/文件夹...

/config/application.yml

在这个文件上,我添加了一些环境变量......

ENV['GMAIL_USERNAME']
ENV['GMAIL_PASSWORD']

然后在我的“app.rb”文件中,我试图包含 yml 文件,例如...

require 'config/application.yml'

如何访问我的 app.rb 文件中的“ENV['BIG_SECRET']”?

Mail.defaults do
  delivery_method :smtp, {
    :address => 'smtp.gmail.com',
    :port => '587',
    :domain => 'mydomain.com',
    :user_name => ENV['GMAIL_USERNAME'],
    :password => ENV['GMAIL_PASSWORD'],
    :authentication => :plain,
    :enable_starttls_auto => true
  }
end
4

1 回答 1

1

您应该按照 Figaro github README https://github.com/laserlemon/figaro中的说明在 application.yml 中声明 yuor 变量(使用 YAML 语法):

pusher_app_id: "2954"
pusher_key: "7381a978f7dd7f9a1117"
pusher_secret: "abdc3b896a0ffb85d373"

test:
  pusher_app_id: "5112"
  pusher_key: "ad69caf9a44dcac1fb28"
  pusher_secret: "83ca7aa160fedaf3b350"
...

您将能够访问声明的变量,如下所示:

ENV["stripe_api_key"] # => "sk_live_dSqzdUq80sw9GWmuoI0qJ9rL"
ENV.key?("stripe_api_key") # => true
ENV["google_analytics_key"] # => nil
ENV.key?("google_analytics_key") # => false
于 2015-11-10T13:07:59.987 回答