首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何临时禁用Rack-Mini-Profiler?

如何临时禁用Rack-Mini-Profiler?
EN

Stack Overflow用户
提问于 2012-09-13 23:16:50
回答 2查看 14.7K关注 0票数 50

我在rails中使用rack mini profiler很好,但在一些编码会话中,特别是在我处理大量不同的客户端代码时,它会阻碍我的工作。(主要是在我的客户端调试工具,网络图等)

我试着用一个之前的过滤器来关闭它,这个过滤器也用来查看用户是否有权查看配置文件,但"deauthorize“似乎对我没有任何作用。下面是我的代码,名为before过滤器:

代码语言:javascript
复制
def miniprofiler  
 off = true
 if off || !current_user
  Rack::MiniProfiler.deauthorize_request
  return
 elsif current_user.role_symbols.include?(:view_page_profiles)    
  Rack::MiniProfiler.authorize_request
  return
 end
 Rack::MiniProfiler.deauthorize_request
end

我也知道有一个设置"Rack::MiniProfiler.config.authorization_mode“,但是我找不到关于可能的设置的文档,也没有在代码中看到它的用法?现在它告诉我:allow_all,但是:allow_none也没有做任何事情。

即使我可以在dev环境文件中临时设置一个值并重新启动服务器,这也是我的目的。

EN

回答 2

Stack Overflow用户

发布于 2013-05-25 03:59:47

也可以使用Alt+p进行切换。

票数 43
EN

Stack Overflow用户

发布于 2015-03-13 03:00:03

如果您希望分析器最初被禁用,然后按需激活...在初始化器文件中添加一个预授权回调,如下所示:

代码语言:javascript
复制
Rack::MiniProfiler.config.pre_authorize_cb = lambda {|env| ENV['RACK_MINI_PROFILER'] == 'on'}

然后,在应用程序控制器中,添加一个查找pp参数的before_filter

代码语言:javascript
复制
before_filter :activate_profiler
def activate_profiler
  ENV['RACK_MINI_PROFILER'] = 'on' if params['pp']
  ENV['RACK_MINI_PROFILER'] = 'off' if params['pp'] == 'disabled'
end

你的环境最初不会设置RACK_MINI_PROFILER,但如果你想打开它,你可以将?pp=enabled附加到你的url上。然后,您可以稍后再次禁用它( pp=disabled只会在当前会话中关闭它,但是将ENV变量设置为off将完全杀死它,直到您强制它重新打开为止)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12409544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档