我在Rails应用程序中使用了audited宝石,我想知道是否可以添加除创建,更新和销毁之外的其他操作审计。?
或者,也许有人可以将我指向另一个支持此功能的宝石,因为我需要跟踪对应用程序的各种访问。
谢谢
答案 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