Ruby on rails 如何删除带有链接文件的模型
我看到默认情况下carrierwave不会删除链接到模型的文件。Ruby on rails 如何删除带有链接文件的模型,ruby-on-rails,carrierwave,Ruby On Rails,Carrierwave,我看到默认情况下carrierwave不会删除链接到模型的文件。 怎么做?我对carrierwave不太熟悉,但一般来说,在销毁后挂入,可能就是你想要的 class Model < ActiveRecord::Base after_destroy :delete_linked_file def delete_linked_file # Delete the linked file here end end 类模型
怎么做?我对carrierwave不太熟悉,但一般来说,在销毁后挂入
,可能就是你想要的
class Model < ActiveRecord::Base
after_destroy :delete_linked_file
def delete_linked_file
# Delete the linked file here
end
end
类模型 结束
Carrierwave应该为您自动从S3中删除文件。我刚刚在Rails 3.1应用程序上测试了这一点。您需要调用
@image.destroy
不是
同时使用aws s3面板上的刷新按钮是,
你可以这样做
def delete_image_folder
FileUtils.remove_dir(File.join(Rails.root, File.join( 'public' , file_name.store_dir)), :force => true)
end
但请记住,如果您更改了Carrierwave配置根目录,则应将其考虑在内(默认值为public,因此此代码将正常工作)看起来Carrierwave应该自行处理。但是我也有同样的问题=((看起来Carrier删除了文件,但没有删除空目录。我应该用回形针。
def delete_image_folder
FileUtils.remove_dir(File.join(Rails.root, File.join( 'public' , file_name.store_dir)), :force => true)
end