【问题标题】:Papertrail: Do not log change if whodunnit blank?Papertrail:如果 whodunnit 为空白,请不要记录更改?
【发布时间】:2020-11-23 05:16:11
【问题描述】:
我正在尝试使用 papertrail 来审核特定用户所做的更改。只是想知道在没有设置 whodunnit 值时是否有一种方法(如果可能,在全球范围内)忽略对记录所做的记录更改?
我看过使用has_paper_trail if : proc.{...},但我不确定如何从这里正确访问版本记录信息。
【问题讨论】:
标签:
ruby-on-rails
ruby
rubygems
ruby-on-rails-6
paper-trail-gem
【解决方案1】:
PaperTrail 在全局范围内使用PaperTrail.request.whodunnit 为您的请求定义 whodunnit。在这种情况下,您可以在 if 守卫中检查 this 的值。
我的猜测是所有空白的 whodunnit 都是系统生成的,在这种情况下,您也可以使用各种系统用户填充 whodunnit,然后将其过滤掉。