首页 > 解决方案 > 带有 Rack-Mini-Profiler 的 Rails 环境变量

问题描述

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

标签: ruby-on-railsrack

解决方案


Miniprofiler 实际上并没有做任何事情,因为 Ruby 通过类似于哈希类ENV常量公开环境变量。

dump_env只是迭代它们

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

推荐阅读