Rails 6:如何创建在开发和测试中都有效但在生产中无效的凭证?
Rails 6: How do I create credentials that work in both dev and test but not production without duplication?
我已经通过 运行
创建了一个文件来保存开发凭据
EDITOR="subl --wait" rails credentials:edit --environment development
因此,例如,我可以在 dev.
中访问 Rails.application.credentials.vonage
然而,在测试中做同样的事情,我得到 nil
:
> Rails.application.credentials.vonage
=> nil
如何在不重复的情况下为开发和测试设置共享凭据,而不是为生产设置共享凭据?
您可以配置测试环境以查找开发文件和密钥。
# config/environments/test.rb
Rails.application.configure do |config|
...
config.credentials.content_path = Rails.root.join("config/credentials/development.yml.enc")
config.credentials.key_path = Rails.root.join("config/credentials/development.key")
...
end
有关更多信息,请参阅 Rails General Configuration。
我已经通过 运行
创建了一个文件来保存开发凭据EDITOR="subl --wait" rails credentials:edit --environment development
因此,例如,我可以在 dev.
中访问Rails.application.credentials.vonage
然而,在测试中做同样的事情,我得到 nil
:
> Rails.application.credentials.vonage
=> nil
如何在不重复的情况下为开发和测试设置共享凭据,而不是为生产设置共享凭据?
您可以配置测试环境以查找开发文件和密钥。
# config/environments/test.rb
Rails.application.configure do |config|
...
config.credentials.content_path = Rails.root.join("config/credentials/development.yml.enc")
config.credentials.key_path = Rails.root.join("config/credentials/development.key")
...
end
有关更多信息,请参阅 Rails General Configuration。