无法访问 rails 中的 ENV 变量

Ali*_*ain 1 ruby ruby-on-rails environment-variables ubuntu-14.04

我正在尝试在我的 rails 应用程序中使用 env 变量并在ubuntu 14.04 中设置这些变量值

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

export mongodb_username="abc"
export mongodb_password="cde"
Run Code Online (Sandbox Code Playgroud)

并尝试在/etc/environment和~/.bashsrc 中设置它们

和printenv给出以下结果

   >> printenv mongodb_username
   => abc
   >> printenv mongodb_password
   => cde
Run Code Online (Sandbox Code Playgroud)

但是在RAILS APP或irb 中,输出如下

>> ENV['mongodb_password']
=> nil
>> ENV['mongodb_username']
=> nil
Run Code Online (Sandbox Code Playgroud)

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

Kei*_*ett 5

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

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

如果你有变量,你需要经常,一个办法是把他们分配在一个shell脚本,然后源在你需要的时候在任何壳shell脚本(见http://www.tldp.org/HOWTO/Bash-Prompt -HOWTO/x237.html了解更多信息)。

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