按列过滤paper_trail版本历史记录

时间:2017-07-27 23:39:47

标签: paper-trail-gem

使用Airblade的PaperTrail gem,我需要跟踪所有列的特定模型的更改,但是我需要有选择地过滤以查看仅一个特定列的更改。为了使其更具体,如果我的File模型具有label属性/列并且我想显示标签历史记录,那么我现在能够得到的只是全部文件的版本历史记录,其中包括对其他属性的非标签更新。 (此外,我不仅需要标签更新本身,还需要与该版本相关联的whodunnitcreated_at。)

我在文档中没有看到任何内容 - 我最接近的是添加元数据,这使我可以更轻松地访问此属性的信息,但不会返回相关的过滤集合版本历史。

1 个答案:

答案 0 :(得分:1)

答案:您更新标签栏的任何地方,您也可以更新paper_trail_event,例如file.update!(label:'Foo', paper_trail_event: 'update label')。然后,您可以查询该事件,例如versions.where(event: 'update label')