问题描述
我目前在每个需要它的控制器操作中都有这个(相当多):
Stripe.api_key = Rails.application.credentials[Rails.env.to_sym][:stripe][:secret_stripe_test_key]
放置此代码的最佳位置在哪里?想到的选项是:
- 将它留在每个需要它的控制器操作中
- 将它放在
before_action
中,并在需要它的控制器操作之前运行 - 将它放在应用程序助手中,并从需要它的控制器操作中运行它
- 将其放在
initializer.rb
文件中,并在应用程序启动时运行一次
我目前拥有的不是 DRY,所以我认为必须有更好的方法。
解决方法
您可以在文件夹 config/initializers/stripe.rb
中创建一个初始化文件并将此密钥放在那里
Stripe.api_key = Rails.application.credentials.stripe_secret_key