has_attached_file :asset,
:path => ":rails_root/public/system/:class/:id_partition/:style/:basename.:extension",
:url => "/system/:class/:id_partition/:style/:basename.:extension"
我的模型中有上面的代码。这使得路径像/ public / system / uploads / 000 / 000/001,其中1将是记录的id号。现在该目录包含原始图像,但它也包含缩略图。当我想删除记录时,原始文件被删除但目录仍然存在,因为缩略图仍然存在于目录中。如何完全删除目录?
答案 0 :(得分:0)
您可以使用rails g observer Upload
创建一个观察者并使其看起来像
class UploadObserver < ActiveRecord::Observer
observe Upload
def before_destroy(record)
FileUtils.rm_rf File.dirname(Upload.find(record).upload.path)
end
end
并记得在application.rb
中使用config.active_record.observers = :upload_observer