使用figaro存储env变量

时间:2015-07-08 03:46:18

标签: ruby-on-rails actionmailer

我对如何在Rails 4.2中正确使用figaro感到困惑。所以在application.yml(检入.gitignore)中,我有这个:

secret_key_base: 123456

然后在secrets.yml中,我有这个:

development:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

根据我读过的所有内容,宝石应该处理设置凭证的ENV部分。为什么这不起作用?



编辑1: 在application.yml中,我有:mandrill_user_name: email@example.commandrill_password: 1234567890

在development.rb中我有:

config.action_mailer.default_url_options = { :host => "localhost:3000" }

config.action_mailer.smtp_settings = {
  address: "smtp.mandrillapp.com",
  port: 587,
  domain: "localhost:3000",
  authentication: "plain",
  enable_starttls_auto: true,
  user_name: ENV["mandrill_user_name"],
  password: ENV["mandrill_password"]
}

不应该是application.yml正在处理这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果在secrets.yml文件和application.yml文件中有变量是多余的。 的即。仅使用application.yml文件来声明ENV Vars。

只要它在apllication.yml文件中,你就可以像你一样在整个rails应用程序中调用它:

ENV["SECRET_KEY_BASE"]

存储在secrets.yml文件中的变量通过

调用
Rails.application.secrets.SECRET_KEY_BASE