Benutzerüberwachung in Rails
-
02-07-2019 - |
Frage
Wir haben eine App mit einem umfangreichen Admin-Bereich. Wir haben ein wenig trigger happy mit Funktionen (wie Sie) und suchen für einige schnelle und einfache Weise zu überwachen „die verwendet, was“.
Im Idealfall ein einfaches Juwel, das es uns ermöglicht, Controller / Aktionen auf einer Basis pro Benutzer verfolgen ein Bild von den Funktionen aufzubauen, die verwendet werden, und solche, die es nicht sind.
Alles, was da draußen, dass Sie würde empfehlen ..
Danke
Dom
Lösung
Ich weiß nicht, dass es ein beliebtes Schmuckstück oder Plugin für diesen; in der Vergangenheit habe ich diese Art von Auditing als before_filter
in Applicationcontroller implementiert:
aus dem Speicher:
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
Dies setzt voraus, dass Sie so etwas wie restful_authentication verwenden aktuelle Benutzer zu bekommen, natürlich.
EDIT: Je nachdem, wie Verbände eingerichtet sind, würden Sie noch besser machen das Audit.create Bit mit diesem zu ersetzen:
current_user.audits.create({
:controller => controller,
:action => action,
:params => local_params
})
Scoping Kreationen über Active assoiations == best practice