已审核的宝石 添加关于销毁的评论
Posted
技术标签:
【中文标题】已审核的宝石 添加关于销毁的评论【英文标题】:Audited Gem Add Comment on Destroy 【发布时间】:2021-11-19 19:58:37 【问题描述】:我已实施 Audited,一切正常。我唯一不知道的是如何在删除记录时添加“audit_comment”。我可以在更新或创建时成功添加它,但我没有看到任何可以让我在删除时添加评论的内容。
我的示例是我可以直接删除记录,也可以通过相关关联的回调将其删除。所以我想根据情况在审核中添加评论...“直接由用户删除”或“通过父级删除删除”
我是否遗漏了审核文档中的某些内容?
【问题讨论】:
它会跳过正常的 Rails 删除回调吗? 它不会跳过它们,所有正常的 rails 删除回调仍然有效。但是向审计记录添加评论的方法是:record.update_attributes(name: 'something', audit_comment: 'Making a comment') 我们不能在删除/销毁调用中这样做。 但是您可以随时通过设置其audit_comment
字段来更新列。
【参考方案1】:
你需要在销毁之前添加注释,如下所示:
model.audit_comment = 'some random comment'
model.destroy
按照这里的描述https://github.com/collectiveidea/audited/blob/master/lib/audited/auditor.rb#L11
在创建、更新或销毁操作之前将审计评论集 model.audit_comment 存储到您的评论中。
更多关于这里的代码https://github.com/collectiveidea/audited/blob/master/lib/audited/auditor.rb#L303
def audit_destroy
unless new_record?
write_audit(action: "destroy", audited_changes: audited_attributes, comment: audit_comment)
end
end
【讨论】:
哇……表明我需要走开。我当然可以这样做。感谢您指出显而易见的解决方案……?以上是关于已审核的宝石 添加关于销毁的评论的主要内容,如果未能解决你的问题,请参考以下文章
关于PHP 使用 unset 销毁变量 但是 没有销毁内存的 记录