Domanda

Abbiamo un'app con un'ampia sezione di amministrazione. Siamo rimasti un po 'contenti delle funzionalità (come te) e stiamo cercando un modo rapido e semplice per monitorare "chi usa cosa".

Idealmente una semplice gemma che ci consentirà di tracciare il controller / le azioni in base all'utente per creare un'immagine delle funzionalità utilizzate e di quelle che non lo sono.

Qualunque cosa là fuori che consiglieresti ..

Grazie

Dom

È stato utile?

Soluzione

Non so che ci sia un gioiello o plugin popolare per questo; in passato ho implementato questo tipo di controllo come before_filter in ApplicationController:

dalla 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

Ciò presuppone che tu stia usando qualcosa come restful_authentication per ottenere l'utente corrente, ovviamente.

EDIT: a seconda di come sono impostate le associazioni, faresti ancora meglio a sostituire il bit Audit.create con questo:

current_user.audits.create({
  :controller => controller,
  :action => action,
  :params => local_params
})

Creazioni di scoping tramite ActiveRecord assoiations == best practice

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top