我有一个使用Stripe进行付款处理的Rails应用。我需要创建一个每天执行两次传输的预定cron作业。
这要求我在某处存储银行帐户详细信息(路由/帐号),以便我可以访问它并创建一个使用令牌。
我考虑将它们放在服务器或application.rb文件中的环境变量中。它更容易放入application.rb,但我可以接受建议。
谢谢!
答案 0 :(得分:1)
我认为这种数据是保密的,所以我会将它们保留在VCS之外。
对我来说似乎有一个额外的配置,例如
#config/bank.yml
development:
account: 12345
不会驻留在VCS中。
对于生产,您只需要一个单独的文件,它将驻留在您的服务器中,只有部分人才能看到它。
#config/bank.yml
production:
account: 12345678
答案 1 :(得分:1)
Rails 4.1引入了一个新文件,用于在config/secrets.yml
存储此类信息。如果您正在使用或计划升级到Rails 4.1(本着约定优于配置的精神),我建议使用这个。
您可以在Rails中检索这些内容:
Rails.application.secrets.bank_account.number
等等。确保告诉您的VCS忽略此文件。您可以在官方release notes中找到有关secrets.yml的更多信息。