我有一个 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/