Мониторинг пользователей в Rails - PullRequest
9 голосов
/ 23 сентября 2008

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

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

Все, что вы бы порекомендовали ..

Спасибо

Дом

1 Ответ

10 голосов
/ 23 сентября 2008

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

из памяти:

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 == передовая практика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...