ruby-on-rails-4 - 如何在 ruby​​ on rails 4 中使用 secrets.yml 将密码存储在 database.yml 中

标签 ruby-on-rails-4 passwords

我有一个 ruby​​ on rails 4 项目,我的 config/secrets.yml 看起来像这样:

development:
  secret_key_base: verylongnumber
  postgres: 'mypassword'

我的配置/database.yml

default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 5
  host: localhost
  username: myusername
  password: 'mypassword' # <-- Problem here

我需要在 config/database.yml 中输入什么密码才能从 secrets.yml 中获取密码?

我试过:

password: <%= ENV['postgres'] %>
password: <%= ENV["postgres"] %>
password: <%= ENV[postgres] %>
password: ENV['postgres']
password: ENV["postgres"]
password: ENV[postgres]

但这些解决方案均无效。我哪里做错了?提前致谢!

最佳答案

您需要使用 <%= Rails.application.secrets[:your_key] %>访问 secrets.yml 的值.

下面应该可以工作

<%= Rails.application.secrets[:postgres] %>

我强烈建议你看看这个博客

https://launchschool.com/blog/managing-environment-configuration-variables-in-rails

关于ruby-on-rails-4 - 如何在 ruby​​ on rails 4 中使用 secrets.yml 将密码存储在 database.yml 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454814/

相关文章:

passwords - 允许用户在使用 Ansible 创建帐户后设置密码

c# - 我可以在 Windows Phone 8 应用程序的哪里存储硬编码密码?

ruby-on-rails - Rails 4 和 Heroku - 抽取 Assets :precompile trying to call Postgres

ruby-on-rails - 我希望用户能够跟踪在Rails 4中使用acts_as_taggable_on创建的主题(标签)

ruby-on-rails - Rails 使用 post 而不是 put 生成更新表单

Java - 将项目从 zip 文件移动到受密码保护的 zip 文件中

c# - (.NET) 生成随机、易记密码的简单方法

ruby-on-rails - friendly_id slug 未在创建时生成

jquery - 使用 jquery 以编程方式选择 select2 选项

php - 我们如何在 PHP 中创建相当安全的密码哈希?