Spe*_*ley 1 development-environment ruby-on-rails
我正在做一些涉及Stripe API的开发.在我的开发环境中,我正在使用条带测试密钥.在生产中我使用真正的api密钥,以便我可以处理真正的事务.
我目前只是在部署到生产环境之前立即更换测试api密钥; 这感觉不太好.我非常肯定可以使用的策略是使用gitignore创建一个开发分支(忽略我加载api密钥的初始化程序),然后在部署之前将其与master分支合并; 这样,api密钥在各自的环境中始终是正确的.我不是很喜欢这种方法.是否有某种方法在某处配置这些api密钥,以便应用程序只知道在dev/prod中使用哪一个?
在rails 4.1中我们有config/secrets.yml文件,所以你可以在那里设置api键:
development:
secret_key_base: 'xxx'
publishable_key: xxx
secret_key: xxx
production:
secret_key_base: 'xxx'
publishable_key: xxx
secret_key: xxx
Run Code Online (Sandbox Code Playgroud)
在stripe.rb文件中,您可以这样做:
Rails.configuration.stripe = {
:publishable_key => Rails.application.secrets.publishable_key,
:secret_key => Rails.application.secrets.secret_key
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3423 次 |
| 最近记录: |