从 rails 5.1
升级到 rails 5.2.3
后,我收到了弃用警告:
secrets.secret_token` is deprecated in favor of `secret_key_base` and will be removed in Rails 6.0. (called from <main> at /config/initializers/stripe.rb:3
如果我查看 strip 初始化器,我有:
Rails.configuration.stripe = {
publishable_key: Rails.application.secrets.stripe_publishable_key,
secret_key: Rails.application.secrets.stripe_secret_key
}
所以没有提到secret.token
。如果我查看 config.secrets.yml
我有
test:
secret_key_base: some-key
stripe_secret_key: another_key
stripe_publishable_key: yet_another_key
那么为什么我会收到弃用警告?
最佳答案
Rails 5.2 已将 secrets 替换为凭据,以在存储库中存储加密的凭据或 API key 。您可以在以下文章中阅读有关从 secret 更改为凭据的更多信息。
https://medium.com/@wintermeyer/goodbye-secrets-welcome-credentials-f4709d9f4698
尽管 Rails 5.2 已经用凭据替换了 secret ,但如果您愿意,您仍然可以使用 secret 。然而,正如警告消息所述,secrets 将从 Rails 6 中删除,您必须接受使用凭据来存储 API key 和 secret_keys。
关于ruby-on-rails - 无法理解 secret_token 的 Rails 弃用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55451394/