在 rails 应用程序中在哪里设置条带 API 密钥?

问题描述

我目前在每个需要它的控制器操作中都有这个(相当多):

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