Можно ли добавить аудит действий, отличных от создания, обновления и уничтожения с проверенным гемом? - PullRequest
0 голосов
/ 30 сентября 2018

Я использую гем audited в своем приложении rails, и мне интересно, возможно ли добавить аудит действий, отличных от создания, обновления и уничтожения ..?

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

Спасибо

1 Ответ

0 голосов
/ 02 октября 2018

Я нашел способ обойти эту проблему, который, хотя и не идеален для всех, соответствует требованиям для моего небольшого приложения.

Я добавил класс Audit, который выглядит просто так:

class Audit < ActiveRecord::Base
  belongs_to :user
end

А потом я добавил это в ApplicationController

after_action only: :show do |c|
  a = Audit.new
  a[:auditable_id] = params[:id]
  a[:auditable_type] = self.class.to_s.gsub(/^(.+)sController/, '\1')
  a[:user_id] = current_user.id
  a[:user_type] = 'User'
  a[:action] = 'show'
  a[:comment] = "url fullpath: #{request.original_fullpath}"
  a[:remote_address] = request.remote_ip
  a[:request_uuid] = request.uuid

  a.save
end
...