我有一個使用Paperclip來管理文件的模型。如何讓回形針刪除文件
我刪除模型後,我顯然希望該文件被刪除,但我似乎無法找到如何使用Paperclip刪除文件。
我試過self.sourcefile = nil if !sourcefile.dirty?
在before_destroy
def,但是沒有效果。
(我希望能夠把它刪除本地文件時我測試,然後在S3上,當我使用 - 所以我需要一個純粹的回形針溶液)
任何想法?
我有一個使用Paperclip來管理文件的模型。如何讓回形針刪除文件
我刪除模型後,我顯然希望該文件被刪除,但我似乎無法找到如何使用Paperclip刪除文件。
我試過self.sourcefile = nil if !sourcefile.dirty?
在before_destroy
def,但是沒有效果。
(我希望能夠把它刪除本地文件時我測試,然後在S3上,當我使用 - 所以我需要一個純粹的回形針溶液)
任何想法?
無法刪除文件時,回形針非常嘈雜。
無需任何特殊的配置,當你刪除一個對象,相關文件,如果有的話,都被刪除了,並且這將記入日誌(至少在開發模式):
[paperclip] Deleting attachments.
[paperclip] deleting /clipper/public/system/avatars/3/original/whatever.JPG
如果回形針無法刪除文件,它只會拋出一個異常。
所有這些測試都使用了最新的Paperclip(5月25日從github上克隆)。如果您的版本較舊,您可能需要更新它,然後在觀看日誌的同時運行一些測試。
我可能是錯的,但我相信它應該自動執行它,因爲has_attached_file
增加了一個before_destroy
回調。 Source。
編輯:如果它不工作,也許你可以嘗試自己打電話destroy_attached_files
,這對我來說似乎很奇怪。 Source。
我正在使用它,但我的文件仍然存在。 :( – 2010-05-25 03:40:54
非常奇怪,我能想到的另一件事是開放問題:/ http://github.com/thoughtbot/paperclip/issues – theIV 2010-05-25 03:42:32
是的,這真的很令人沮喪,我試着調用'destroy_attached_files'來這些文件仍然在那裏,我可能只是放棄回形針 – 2010-05-25 04:00:03
是的,我可以看到它在日誌中說,但它從來沒有反映在我的文件系統上,所以我只選擇使用直接的AWS訪問,因爲回形針也不起作用(不管文件刪除的事情) – 2010-05-25 23:57:55