查找给定用户的所有已更改对象

时间:2014-02-04 13:06:07

标签: ruby-on-rails ruby-on-rails-4 paper-trail-gem

我的模型Car has_paper_trail。如何查找cars更改或创建的所有current_user?我可以遍历所有这些,但这是一场表演的噩梦。一些where搜索是我正在搜索但找不到的。

1 个答案:

答案 0 :(得分:1)

whoddunnit表格中应该有versions列,您可以与item_type一起查询,但只有在正确记录的情况下才有用。

获取修改记录的ID的简单查询:

PaperTrail::Version.where(whodunnit: current_user.id, item_type: 'Car').select('distinct item_id')

另见https://github.com/airblade/paper_trail#finding-out-who-was-responsible-for-a-change