使用Airblade的PaperTrail gem,我需要跟踪所有列的特定模型的更改,但是我需要有选择地过滤以查看仅一个特定列的更改。为了使其更具体,如果我的File
模型具有label
属性/列并且我想显示标签历史记录,那么我现在能够得到的只是全部文件的版本历史记录,其中包括对其他属性的非标签更新。 (此外,我不仅需要标签更新本身,还需要与该版本相关联的whodunnit
和created_at
。)
我在文档中没有看到任何内容 - 我最接近的是添加元数据,这使我可以更轻松地访问此属性的信息,但不会返回相关的过滤集合版本历史。
答案 0 :(得分:1)
答案:您更新标签栏的任何地方,您也可以更新paper_trail_event,例如file.update!(label:'Foo', paper_trail_event: 'update label')
。然后,您可以查询该事件,例如versions.where(event: 'update label')