2016-01-19 150 views
0

你好,我有問題獲取環境變量的工作。我出口他們到服務器這樣做:環境變量不加載軌道

Export username=name password=password 

當我做厄貝沙坦和變量的類型我拿回來:

2.2.1 :001 > ENV["password"] 
=> "password" 

但是我得到這個錯誤的PostgreSQL:

PG::ConnectionBad: FATAL: password authentication failed for user "ENV["username"]" 

看來我的環境變量沒有加載到系統中。這是我的database.yml文件:

production: 
<<: *default 
database: postgresql 
username: ENV["username"] 
password: ENV["password"] 

當我把原始字符串,它完美的作品。任何幫助都是極好的。

回答

4

Yaml本身對環境變量一無所知,然而rails在解析yaml之前通過erb運行文件,這就是您可以在其中執行諸如加載環境變量之類的操作的地方。

您需要使用ERB標籤(<%=%>),否則將鐵軌用文字ENV [ '密碼']作爲密碼,例如:

password: <%= ENV['password'] %> 
+0

太謝謝你了!我從來沒有新的 – Jakxna360