我无法弄清楚在我的 rails 应用程序中将开发环境的 API 密钥放在哪里。 我已经阅读了许多不同的方法来做到这一点,但到目前为止,这就是我所拥有的(Stripe 是 API):
config/initializers/stripe.rb:
Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
:client_id => ENV['CLIENT_ID']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
我正在使用 Heroku 进行生产,所以我知道如何配置生产密钥。 我无法弄清楚在哪里存储开发密钥,以便我可以在本地主机上进行测试。 它们应该进入 config/secrets.yml 文件吗? 或者也许是config/environment/development.rb文件?
感谢您的帮助。
我最终为解决这个问题所做的是将所有配置放在 config/secrets.yml 文件夹中,并将让 git 忽略此文件,以便生产密钥不会存储在任何存储库中。
它看起来像这样:
development:
secret_key_base: < secret key base >
stripe_publishable_key: < publishable key >
stripe_secret_key: < stripe secret key >
stripe_client_id: < stripe client id >
test:
secret_key_base: < secret key base >
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
stripe_publishable_key: < publishable key >
stripe_secret_key: < stripe secret key >
stripe_client_id: < stripe client id >
然后我将我的配置/初始化项/stripe.rb 更改为:
Stripe.api_key = Rails.application.secrets.stripe_secret_key
我不确定这是否是解决我遇到的问题的绝对最佳方法,但它有效。