ruby-on-rails 在Rails7中,如何访问手动添加到credentials.yml.enc中的环境变量?

qmb5sa22  于 2023-05-30  发布在  Ruby
关注(0)|答案(1)|浏览(146)

我正在使用Rails7,并且能够使用命令Rails.application.secret_key_base获取secret_key_base,但是当我尝试获取另一个变量时,我保存在credentials.yml.enc中,如Rails.application.new_key,我得到错误。
请问我如何才能得到变量,我manuelly添加到credentials.yml.enc文件使用命令EDITOR='code --wait' rails credentials:edit
下面是我的credentials.yml.enc文件的样子:

# aws:
#   access_key_id: 123
#   secret_access_key: 345

# Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
secret_key_base: dkud
new_key: qwerty

我还尝试了Rails.application.credentials命令,它可以与secret_key_base一起使用,但不能与credentials.yml.enc中的其他变量一起使用。

2skhul33

2skhul331#

保存在凭证文件中的秘密可以通过Rails.application.credentials访问,您的命令缺少.credentials

irb(main):001:0> Rails.application.credentials.new_key
=> "qwerty"
irb(main):002:0> Rails.application.credentials[:new_key]
=> "qwerty"

默认情况下,只能使用Rails.application检索secret_key_base
在指南中了解有关秘密的更多信息。

相关问题