我发现这个solution使用复选框作为标记来删除图像。但是,我想使用link_to
。基本上,在图片附件旁边,我想要一个"删除头像"链接。如果可能,我希望链接只删除图像,而不是更新其他属性。
用户类
class User < ActiveRecord::Base
has_attached_file :avatar
attr_accessible :avatar
以表格
link_to "Delete Avatar", {:action => :update}, :method => :put
显然,这还没有实际删除图像。最好的方法是什么?让链接设置隐藏标志,然后更新?或者这只是一个坏主意(如果是这样的话)?
答案 0 :(得分:8)
创建一个补丁路由,以删除带有user_id的附件以及控制器中的匹配操作
link_to 'Delete Avatar', {action: :action_name, id: user.id}, method: :put
def action_name
# use either/or depending on your usecase
@user.avatar.destroy #Will remove the attachment and save the model
@user.avatar.clear #Will queue the attachment to be deleted
end