背景:
我正在开发 Rails 应用程序,并且在某些模型中我paperclip gem
用来保存附件。在我public_activity gem
用来跟踪模型更改的相同模型中,我已经准备了基于此的恢复功能,以便能够在特定条件下撤消该模型上的更改。现在使用回形针选项:preserve_files => true
很容易在 的情况下获取旧文件delete
,但在 的情况下update
,我不知道如何。
问题:
public_activity gem
已经在使用before_action
回调,我可以处理除 Paperclip 文件更新之外的所有脏字段。那么如何在不更改模型或添加额外回调的情况下获取脏更新文件(因为我在多个模型中使用此成就并且撤消功能是通用的)。
笔记:
我File.exist?(paperclip_attachment.path)
用来检查文件是否仍然存在,并且在update
回调的情况下返回false public_activity
(我认为它与before_update
回调相同)。