Rails 带有 Rack-Mini-Profiler 的环境变量

Rails environment variables with Rack-Mini-Profiler

我试图了解当您在请求的基础 URL 上附加 ?pp=env 时,Rails 'rack-mini-profiler' 实际上是如何转储环境变量的。现在我的 Gemfile 配置了 gem 'dotenv-rails 并且我正在使用 .env.local 来填充一些测试变量。我的问题是,rack-mini-profiler 从哪里获取环境变量?有许多不同的方法可以在 rails 应用程序中填充 env 变量,dotenv 就是其中之一。我一直在仔细阅读 rack-mini-profiler 的源代码,但似乎找不到它。我在 'profiler.rb' 中看到了 dump_env 函数,但我看不到这些环境变量从代码中的位置或方式。它仅通过使用 key/value 对的 do 循环来显示它们的打印。这是我正在玩的示例应用程序,您可以在 URL: https://preprod.rtcfingroup.com/?pp=env 处看到环境变量 感谢任何见解。真的想在低层次上理解这一点。

Miniprofiler 实际上并没有做任何事情,因为 Ruby 通过 the ENV constant 公开环境变量,这是一个类似于 class.

的散列

dump_env just iterates over them:

body << "\n\nEnvironment\n---------------\n"
ENV.each do |k, v|
  body << "#{k}: #{v}\n"
end