0

我有一个用户模型,用户可以使用 Paperclip gem 上传他们的个人资料图片。这一切都很好,并将文件存储在/public/images/#{user.id}/medium或原始或小目录中。

但是我需要创建一个能够删除这些文件的方法,有人可以帮我吗?

这是我到目前为止的代码:

应用程序/视图/用户/index.html.erb:

<%= link_to "Delete", method: :file_cleanup, action: :destroy %>

应用程序/控制器/users_controllers.rb:

def file_cleanup
    File.delete(Rails.root + 'public/#{current_user.image.url}')
    redirect_to :action => :edit
end

我没有添加任何路线,因为页面似乎加载没有任何错误。

4

1 回答 1

1

它应该很简单:

def delete_image
  @user.image.destroy
end

我会用它作为一个钩子,比如before_destroy :delete_image.

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

于 2013-10-11T13:59:04.013 回答