Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 我怎样才能知道我的ROR应用程序是否正在获取其环境变量_Ruby_Mongodb_Ruby On Rails 3_Puma_Puma Dev - Fatal编程技术网

Ruby 我怎样才能知道我的ROR应用程序是否正在获取其环境变量

Ruby 我怎样才能知道我的ROR应用程序是否正在获取其环境变量,ruby,mongodb,ruby-on-rails-3,puma,puma-dev,Ruby,Mongodb,Ruby On Rails 3,Puma,Puma Dev,我接管了一个ROR应用程序,并在local_ENV.yml和.ENV中更改了环境变量,以指向MongoDB Atlas上的一个新MongoDB服务器,并远离MLab。但是,该应用程序仍在MLab上运行 因此,我也做了以下工作: 我检查了计算机,发现bash_profile中有相同的环境,我已经更改了 然后我做了一个源代码~/.bash\u配置文件 我重新启动了Puma,但应用程序仍在使用Mlab DB,该数据库通过ENV[MONGO]访问 有没有办法找出应用程序从何处提取环境变量?ruby中没有

我接管了一个ROR应用程序,并在
local_ENV.yml
和.ENV中更改了环境变量,以指向MongoDB Atlas上的一个新MongoDB服务器,并远离MLab。但是,该应用程序仍在MLab上运行

因此,我也做了以下工作:

  • 我检查了计算机,发现
    bash_profile
    中有相同的环境,我已经更改了
  • 然后我做了一个源代码~/.bash\u配置文件
  • 我重新启动了Puma,但应用程序仍在使用Mlab DB,该数据库通过ENV[MONGO]访问

  • 有没有办法找出应用程序从何处提取环境变量?

    ruby中没有任何特定的方法来找出环境变量的设置位置,因为它们首先要理解这意味着什么

    你可以试试grep递归

    grep -rnw 'base/path/to/search/' -e 'MONGO'
    
    根据您使用的外壳,可能还有其他方法来追捕它们。但是,如果它们是从一个不是由shell加载的文件加载的,而是由您的ruby应用程序加载的,即yaml文件加载的,那么这些可能对您没有帮助。
    有关更多信息,请参见

    这是在开发中还是在生产中?如何启动puma服务器?启动脚本或命令看起来如何?您是否使用任何工具自动重新启动应用程序服务器?为什么您认为更改名为
    local_env.yml
    的文件会更改env变量,您是使用gem还是使用读取该文件的代码?那个文件看起来怎么样?您是重新启动了整个服务器还是只重新启动了puma实例?在
    ENV[MONGO]
    中,什么是
    MONGO
    ,常量?