如何删除带链接文件的模型

时间:2011-01-17 11:22:36

标签: ruby-on-rails carrierwave

我默认看到,carrierwave不会删除链接到模型的文件。 怎么做?

4 个答案:

答案 0 :(得分:2)

Carrierwave应自动从S3中删除文件。我刚刚在Rails 3.1应用程序上测试了这个。

答案 1 :(得分:1)

您需要致电

@image.destroy

@image.delete

也可以在aws s3面板上使用刷新按钮

答案 2 :(得分:0)

我不熟悉carrierwave,但总的来说,挂钩after_destroy很可能是你想要的。

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end

答案 3 :(得分:0)

是, 你可以这样做

def delete_image_folder
    FileUtils.remove_dir(File.join(Rails.root, File.join( 'public' , file_name.store_dir)), :force => true)  
end

但请记住,如果您更改了Carrierwave配置根,则应将其考虑在内(默认为公共,因此此代码可以正常工作)