如何获取回形针以删除文件

Mit*_*sey 4 ruby ruby-on-rails paperclip

我有一个使用Paperclip来管理文件的模型.

删除模型后,我显然希望删除该文件,但我似乎无法找到如何使用Paperclip删除文件.

我曾尝试self.sourcefile = nil if !sourcefile.dirty?before_destroy闪避,但没有任何效果.

(我希望能够在测试时在本地删除文件,然后在S3上使用时删除 - 所以我需要一个纯回形针解决方案)

有任何想法吗?

Roa*_*ter 10

如果Paperclip无法删除文件,则会非常嘈杂.

如果没有任何特殊配置,当您删除对象时,相关文件(如果有)也会被删除,并且会在日志中记录(至少在开发模式下):

[paperclip] Deleting attachments.
[paperclip] deleting /clipper/public/system/avatars/3/original/whatever.JPG
Run Code Online (Sandbox Code Playgroud)

如果Paperclip无法删除该文件,则只会抛出异常.

所有这些都是使用最新的Paperclip(5月25日从github克隆)测试的.如果您有旧版本,可能需要更新它,然后在查看日志时运行一些测试.