ruby on rails - ¿Cómo desactivar Rack-Mini-Profiler temporalmente?
ruby-on-rails ruby-on-rails-3 (3)
Estoy utilizando rack mini profiler en rieles muy bien, pero durante algunas sesiones de codificación, especialmente cuando estoy trabajando en un gran número de diferentes códigos del lado del cliente, se pone en el camino. (principalmente en mi herramienta de depuración del lado del cliente gráficos de red, etc.)
Estoy tratando de desactivarlo con un filtro anterior, que también sirve para ver si el usuario está autorizado a ver el perfil de todos modos, pero "deauthorize" no parece hacer nada por mí. Aquí está mi código llamado como filtro anterior:
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
También sé que hay una configuración "Rack :: MiniProfiler.config.authorization_mode" pero no puedo encontrar documentos sobre cuáles son las posibles configuraciones y no verlas en el código. Ahora mismo me dice: allow_all, pero: allow_none tampoco hace nada.
Incluso si puedo establecer temporalmente un valor en el archivo de entorno de desarrollo y reiniciar el servidor, eso serviría para mis propósitos.
Recibe lo último y escribe:
http://mysite.com?pp=disable
Cuando hayas terminado, escribe
http://mysite.com?pp=enable
Ver ?pp=help
para todas las opciones:
Append the following to your query string: pp=help : display this screen pp=env : display the rack environment pp=skip : skip mini profiler for this request pp=no-backtrace : don''t collect stack traces from all the SQL executed (sticky, use pp=normal-backtrace to enable) pp=normal-backtrace (*) : collect stack traces from all the SQL executed and filter normally pp=full-backtrace : enable full backtraces for SQL executed (use pp=normal-backtrace to disable) pp=sample : sample stack traces and return a report isolating heavy usage (experimental works best with the stacktrace gem) pp=disable : disable profiling for this session pp=enable : enable profiling for this session (if previously disabled) pp=profile-gc: perform gc profiling on this request, analyzes ObjectSpace generated by request (ruby 1.9.3 only) pp=profile-gc-time: perform built-in gc profiling on this request (ruby 1.9.3 only)
Si desea que el generador de perfiles esté desactivado inicialmente, y luego actívelo según demanda ... agregue una devolución de llamada previa a la autorización en un archivo de inicializador como:
Rack::MiniProfiler.config.pre_authorize_cb = lambda {|env| ENV[''RACK_MINI_PROFILER''] == ''on''}
luego en su controlador de aplicación, agregue un before_filter que busque el param pp
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
su entorno no tendrá RACK_MINI_PROFILER configurado inicialmente, pero si desea activarlo, puede conectar? pp = habilitado en su url. Luego, puede volver a desactivarlo más tarde (el parámetro pp = disabled solo lo desactivará para la sesión actual, pero al desactivar la variable ENV lo matará por completo hasta que vuelva a forzarlo).
También puede usar Alt+p
para alternar.