La Monitorización del usuario en Rails
-
02-07-2019 - |
Pregunta
Tenemos una app con una extensa sección de administración.Tenemos un poco de gatillo fácil con características (como tú) y están buscando un poco de forma fácil y rápida de monitor "que lo utiliza".
Lo ideal sería que una simple joya que permitirá seguir el controlador/acciones en una base por usuario para construir una imagen de las características que se utilizan y los que no lo son.
Cualquier cosa que te recomiendo..
Gracias
Dom
Solución
No sé que hay un popular gema o plugin para ello;en el pasado, he implementado este tipo de auditoría como un before_filter
en ApplicationController:
de la memoria:
class ApplicationController < ActionController::Base
before_filter :audit_events
# ...
protected
def audit_events
local_params = params.clone
controller = local_params.delete(:controller)
action = local_params.delete(:action)
Audit.create(
:user => current_user,
:controller => controller,
:action => action,
:params => local_params
)
end
end
Esto supone que usted está usando algo como restful_authentication para obtener usuario actual, por supuesto.
EDITAR:Dependiendo de cómo las asociaciones se establecen, tendría que hacerlo aún mejor para reemplazar la Auditoría.crear poco con esto:
current_user.audits.create({
:controller => controller,
:action => action,
:params => local_params
})
Alcance creaciones a través de ActiveRecord assoiations == la mejor práctica