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
,因为它是一个进程,可能无法轻松调试?!?