2016-01-19 99 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