1
我正在嘗試這個,但沒有運氣。如何刪除原始文件並僅保留使用CarrierWave的版本?
class FileUploader < CarrierWave::Uploader::Base
after :cache, :unlink_original
def unlink_original(file)
file.delete
end
.
.
end
我正在嘗試這個,但沒有運氣。如何刪除原始文件並僅保留使用CarrierWave的版本?
class FileUploader < CarrierWave::Uploader::Base
after :cache, :unlink_original
def unlink_original(file)
file.delete
end
.
.
end
想通了。
文檔中存在拼寫錯誤。
修復了下列問題。
class FileUploader < CarrierWave::Uploader::Base
after :store, :unlink_original
def unlink_original(file)
File.delete if version_name.blank?
end
.
.
end
嗨@KleberS感謝解決方案,它工作正常,只是有一個問題,有一種可能性,因爲某些原因想要刪除的文件不存在(錯誤或...)?這意味着:我們不需要像File.exists那樣添加一些驗證?或類似的東西? – medBo 2013-10-08 00:38:34
@medBo因爲它是一個回調函數,所以我們假定這個文件被正確保存了。你可以像你提到的那樣做一個檢查,但它是一個過分檢查,國際海事組織。 – 2013-10-08 13:44:54
好的謝謝@KleberS你的回答幫了我很多:) – medBo 2013-10-08 14:20:57