场景:我将新附件上传到已有附件的帖子中。(直接上传到s3
)
如果我删除帖子,那么我可以使用after_destroy
删除帖子中的项目。但是,如果我只是更新帖子的项目怎么办。我尝试过after_update
(然后是一种删除项目的方法),但它删除了最近上传的项目而不是我的旧项目。如何删除旧项目而不是新项目?
场景:我将新附件上传到已有附件的帖子中。(直接上传到s3
)
如果我删除帖子,那么我可以使用after_destroy
删除帖子中的项目。但是,如果我只是更新帖子的项目怎么办。我尝试过after_update
(然后是一种删除项目的方法),但它删除了最近上传的项目而不是我的旧项目。如何删除旧项目而不是新项目?
在您的after_update
回调中,您可以使用方法item_changed?
来检查它是否已更改以及item_was
之前的值。
请参阅ActiveModel::Dirty以供参考。