我有一个用户模型,用户可以使用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
我没有添加任何路由,因为页面似乎加载没有任何错误。
答案 0 :(得分:1)
应该如此简单:
def delete_image
@user.image.destroy
end
我会将其用作before_destroy :delete_image
之类的钩子。