无法访问rails中的ENV变量

时间:2016-05-25 08:11:53

标签: ruby-on-rails ruby environment-variables ubuntu-14.04

我正在尝试在我的rails应用中使用env变量,并在 ubuntu 14.04

中设置这些变量值

我尝试使用导出命令进行设置

export mongodb_username="abc"
export mongodb_password="cde"

并尝试在 / etc / environment 〜/ .bashsrc

中设置它们

printenv 给出以下结果

   >> printenv mongodb_username
   => abc
   >> printenv mongodb_password
   => cde

但是 RAILS APP irb 输出正在跟随

>> ENV['mongodb_password']
=> nil
>> ENV['mongodb_username']
=> nil

我错过了什么?请帮忙!!!

1 个答案:

答案 0 :(得分:4)

使用export设置环境变量的值时,该值仅在设置它的shell及其子shell中可用。因此,您需要在每个需要它们的shell中导出这些变量。

但是,当然可以自动执行此操作。

如果您经常需要变量,一种方法是将其分配放在shell脚本中,然后在您需要的任何shell中 source shell脚本(请参阅http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html了解更多信息)。

如果可以让变量在 all shell中生效,那么更简单的方法是从启动脚本中导出它们(可能是~/.bashrc)。