Question

Nous avons une application avec une section administrateur étendue. Nous sommes un peu satisfaits des fonctionnalités (comme vous le faites) et nous cherchons un moyen rapide et facile de contrôler "qui utilise quoi".

Idéalement, un simple joyau nous permettant de suivre les actions / contrôleurs par utilisateur pour créer une image des fonctionnalités utilisées et de celles qui ne le sont pas.

Tout ce que vous recommanderiez là-bas.

Merci

Dom

Était-ce utile?

La solution

Je ne sais pas s'il existe un joyau ou un plugin populaire pour cela; Dans le passé, j'ai implémenté ce type d'audit en tant que before_filter dans ApplicationController:

de mémoire:

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

Cela suppose que vous utilisez quelque chose comme restful_authentication pour obtenir l'utilisateur actuel, bien sûr.

EDIT: en fonction de la configuration de vos associations, vous feriez encore mieux de remplacer le bit Audit.create par ceci:

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

Création de la portée via les associations ActiveRecord == meilleure pratique

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top