背景介绍:项目在ruby里配置audits用于记录一些改动,详见https://github.com/collectiveidea/audited#auditedhttps://github.com/collectiveidea/audited#audited
前端有个按钮经常被启用/禁用,可以通过audit查看每次谁做了修改,但是没有原因,想知道谁为什么要这样做还需要找到那个人问,这个时候需要添加一个弹窗,每次点那个按钮的时候弹出来,让你写下原因。
———————————————————————————————————————————
刚拿到这个问题的时候,第一反应是数据库添加一个新字段,然后更新的时候,就会在audits里面找到记录了。
后来发现audit 有个功能叫comment https://github.com/collectiveidea/audited#commentshttps://github.com/collectiveidea/audited#comments启用/禁用已经为该分支创建了一个audit, 只需将reason存储在audit的comment里就可以了
class User < ApplicationRecord
audited async: true
end
user.update!(name: "Ryan", audit_comment: "Changing name, just because")
user.audits.last.comment # => "Changing name, just because"