【问题标题】:How to use secrets.yml in ruby on rails 4 to store a password in database.yml如何在rails 4上的ruby中使用secrets.yml将密码存储在database.yml中
【发布时间】:2016-02-17 11:01:21
【问题描述】:

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

但是这些解决方案都没有奏效。我哪里做错了?提前致谢!

【问题讨论】:

    标签: ruby-on-rails-4 passwords


    【解决方案1】:

    您需要使用&lt;%= Rails.application.secrets[:your_key] %&gt; 来访问secrets.yml 的值。

    以下应该可以工作

    &lt;%= Rails.application.secrets[:postgres] %&gt;

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

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

    【讨论】:

    • 非常感谢。您的回答和建议都非常有用。
    • 这么棒的博客!
    猜你喜欢
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 2014-03-07
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多