Ruby on rails 调试';环境';in-Rails初始值设定项

Ruby on rails 调试';环境';in-Rails初始值设定项,ruby-on-rails,ruby-on-rails-4,env,clearance,Ruby On Rails,Ruby On Rails 4,Env,Clearance,我想检查env[:clearance]的值,看看为什么有些东西坏了 我怎样才能做到这一点。我尝试了放置: config.user.current = Proc.new { env[:clearance].current_user } puts "ENV[:CLEARANCE]: #{env[:clearance]}" 但这会得到:main:Object(namererror)的未定义局部变量或方法` 在这种情况下,我如何才能看到env哈希?顺便说一句,这与。不清楚您试图解决的问题或当前

我想检查
env[:clearance]
的值,看看为什么有些东西坏了

我怎样才能做到这一点。我尝试了
放置

  config.user.current = Proc.new { env[:clearance].current_user }
  puts "ENV[:CLEARANCE]: #{env[:clearance]}"
但这会得到:
main:Object(namererror)的未定义局部变量或方法`


在这种情况下,我如何才能看到
env
哈希?顺便说一句,这与。

不清楚您试图解决的问题或当前的
config.user.current
是什么(不清楚)。然而,一个问题是,您试图在proc中使用方法
env
,而该方法将不会被定义。过程有自己的范围

如果您只想在clearance中间件运行后查看ENV是什么,那么最简单的方法就是在控制器中放入binding.pry或debugger语句,并以这种方式访问
ENV


清除环境由中间件响应请求设置。它不会在初始值设定项中设置

它不应该是
ENV[:clearance]
而不是
ENV[:clearance]
?也许吧,但这似乎也不起作用。下面。我认为
env
是一个助手方法,在加载初始值设定项之前,您无法访问它,并且您只尝试在内部访问它。好吧,fwiw,我正在尝试在另一个初始值设定项(不是用于清除的初始值设定项本身)的进程中访问
env
,因为它是一个进程,可能无法轻松调试?!?