我正在使用两个宝石rails3_acts_as_paranoid和carrierwave。偏执的软删除,硬删除和恢复功能很好。但是,当我软删除项目时,载波会删除存储的图像。
如何配置carrierwave或acts_as_paranoid,以便仅在硬删除时删除图像?
答案 0 :(得分:2)
在模型中,在mount_uploader之后添加以下行:
mount_uploader :image, ImageUploader
skip_callback :commit, :after, :remove_image!
注意:它不会影响其他提交回调。例如:after_commit :do_smth
仍然可以使用。
如果您想在执行硬删除时删除图像,可以调用@model_instance.remove_image!