Pergunta

Nós temos um aplicativo com uma seção de administração extensa. Temos um pouco feliz gatilho com características (como você) e estão à procura de alguma maneira rápida e fácil de monitorar "quem usa o quê".

O ideal é uma jóia simples que nos permitirá rastrear controlador / ações em uma base por usuário para construir uma imagem dos recursos que são utilizados e aqueles que não são.

Qualquer coisa lá fora, que você iria recomendar ..

Graças

Dom

Foi útil?

Solução

Eu não sei que há uma jóia popular ou plugin para isso; no passado, eu tenho implementado este tipo de auditoria como um before_filter em ApplicationController:

a partir da memória:

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

Isso pressupõe que você está usando algo como restful_authentication para obter usuário atual, é claro.

EDIT: Dependendo de como suas associações são criadas, você faria ainda melhor para substituir o bit Audit.create com este:

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

criações de escopo através de melhores práticas ActiveRecord assoiations ==

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top