是否可以添加对已审计的gem进行创建,更新和销毁以外的其他操作审计的功能

时间:2018-09-30 19:59:42

标签: ruby-on-rails auditing

我在Rails应用程序中使用了audited宝石,我想知道是否可以添加除创建,更新和销毁之外的其他操作审计。?

或者,也许有人可以将我指向另一个支持此功能的宝石,因为我需要跟踪对应用程序的各种访问。

谢谢

1 个答案:

答案 0 :(得分:0)

我找到了解决该问题的方法,尽管不是所有人都理想,但可以满足我的小应用程序的要求。

我添加了一个类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