Ruby on Rails,从回形针中删除文件

时间:2012-08-27 10:01:32

标签: ruby-on-rails paperclip

我一直在使用Paperclip,当删除完成后,它只是删除附件,但保存在文件系统中的图像没有被删除。任何人都可以告诉如何使用回形针从文件系统中删除图像本身。

我一直在使用的代码是


has_attached_file :image_o_filename,
    :styles => {
      :tn => ["100x100#",:jpg ,:name => :tn],
      :w => ["640x480>",:jpg, :name => :w],
      :l_tn => ["200x150#",:jpg, :name => :l_tn]
    },
    :path => "/places/hotels/:image_pre_path/images/:basename_:style.:extension"

当我从视图中删除照片时,图像将从数据库中删除,但不会从具有上述路径的文件系统中删除,图像保持不被删除。可能是什么原因?

并且控制台中也没有生成错误..

1 个答案:

答案 0 :(得分:0)

Paperclip有一个非常好的内置删除方法,我遇到了一个非常类似的问题,并且在此解决方案中非常了解: 我在控制器中创建了一个名为delete_image的方法,然后从我可以调用此方法的视图中创建。

def delete_image
  @user.image.destroy
end

我将图像附加到用户实例,这非常有效,不要忘记在config / routes中的routes文件中定义方法。

祝你好运,你也可以在这里查看更多信息:

请参阅:Rails Paperclip如何删除附件?