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
我试图了解当您在请求的基础 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