我有一個由回形針管理的幾個不同圖像附件的模型。最近,我們改變了模型的行爲,以便可以使用acts_as_paranoid進行軟刪除和恢復。一切都很好,除了當我們軟刪除模型時,回形針也會刪除附件。如何防止回形針從acts_as_paranoid模型中刪除附件?
我已經看過回形針文檔和代碼,我沒有看到一個明顯的方法來規避這一點。我希望能夠告訴回形針忽略模型上的刪除回調並保持附件?
我有一個由回形針管理的幾個不同圖像附件的模型。最近,我們改變了模型的行爲,以便可以使用acts_as_paranoid進行軟刪除和恢復。一切都很好,除了當我們軟刪除模型時,回形針也會刪除附件。如何防止回形針從acts_as_paranoid模型中刪除附件?
我已經看過回形針文檔和代碼,我沒有看到一個明顯的方法來規避這一點。我希望能夠告訴回形針忽略模型上的刪除回調並保持附件?
回形針現在有一個preserve_files
選項。現在應該不需要覆蓋。
文件保留爲軟刪除
一個選項可用來保存,以便與軟刪除的模型發揮很好的附件。 (acts_as_paranoid,妄想等)
has_attached_file :some_attachment, {
:preserve_files => "true",
}
這將防止some_attachment被消滅了當模特被破壞,因此當對象稍後恢復它仍然存在。
https://github.com/thoughtbot/paperclip#file-preservation-for-soft-delete
瘋了多少次,你找到你自己的問題後,你問問題的答案。如果有其他人遇到同樣的問題,我可以放在這裏,或者有人可以有更好的解決方案。對我來說有效的是重寫回形針回調before_destroy回調的方法。我把它放到我的代碼中,它現在保留了我的附件,所以他們在那裏,如果我以後取消刪除模型。
protected
def destroy_attached_files
logger.error "-------------- This is me NOT destroying my attachments"
end
真棒!感謝您更新此內容(我很抱歉花了這麼長時間回來看看它)。 – 2013-03-12 21:56:47