Rails没有找到环境变量?

时间:2018-10-05 13:50:07

标签: ruby-on-rails ruby ruby-on-rails-5

当我运行bundle exec rails c来启动Rails控制台时,出现错误消息:

    erb):16:in `fetch': Cannot load 
   `Rails.application.database_configuration`:
    key not found: "DBUSER"
    Did you mean?  "USER" (KeyError)

但是,我确实设置了以下密钥:

printenv | grep DBUSER
DBUSER=dbuser

为什么没有轨看到这个钥匙?

1 个答案:

答案 0 :(得分:0)

如果您不想设置局部环境变量,我建议您使用一些可以为您处理的gem。这种方法的优点是,您可以轻松跟踪Rails应用程序中正在使用的变量。同样来自Dotenv Docs:

  

在运行多个项目的开发机器或连续集成服务器上设置环境变量并不总是可行的。

您可以使用Dotenv或Figaro(尽管似乎不再维护最后一个)。 用法基本上如下:

  1. .env目录中设置/app文件
  2. 编写将在代码或配置文件中使用的变量名: DBUSER=somekey
  3. 确保遵循这些gem的GitHub自述文件中详述的加载说明。
  4. 运行您的Rails应用,并确保环境变量正在运行。