在我的应用程序中,有几个理由知道谁做了更改,这可以产生通知。
例如,如果我将某个任务分配给某人,那么该模型的after_update可以产生一个通知,但如果我给自己分配一些东西,我不希望它生成一个。
为此,我目前正在使用User.current
,它执行线程查找Thread.current[:current_user]
。另一种方法是告诉模型谁正在保存它们,也可能有其他替代方案。
您在这种情况下成功实施的方法是什么?
答案 0 :(得分:1)
您可以使用paper_trail gem。您可以在哪里查看模型的所有版本:
@your_model.versions # => []
@your_model.whodunnit # => will be filled your current_user of an action
或者在执行保存之前设置用户:
PaperTrail.whodunnit = 'Manager'
doing it有很多选项。