Вопрос

У нас есть приложение с обширным административным разделом.Мы получили небольшой триггер, довольный функциями (как и вы), и ищем какой-нибудь быстрый и простой способ отслеживать, «кто что использует».

В идеале это простой драгоценный камень, который позволит нам отслеживать действия контроллера/действия для каждого пользователя, чтобы составить представление об используемых и неиспользуемых функциях.

Что-нибудь из того, что вы порекомендуете..

Спасибо

Дом

Это было полезно?

Решение

Я не знаю, существует ли для этого популярный драгоценный камень или плагин;в прошлом я реализовал этот вид аудита как before_filter в Контроллере приложений:

из памяти:

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

Конечно, предполагается, что вы используете что-то вроде restful_authentication для получения текущего пользователя.

РЕДАКТИРОВАТЬ:В зависимости от того, как настроены ваши ассоциации, лучше заменить бит Audit.create следующим:

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

Определение объема творений с помощью ассоциаций ActiveRecord == лучшая практика

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top