1
我无法获得此before_save
过滤器的工作。我想,我的方法很标准。图像通过回形针上传。回形针,before_save和删除附件
before_save :remove_checked_attachments
def attachments
%w(banner footer logo accreditation)
end
private
def remove_checked_attachments
attachments.each do |a|
if "remove_#{a}".to_sym && !"#{a}_updated_at_changed?".to_sym
"#{a}".to_sym.destroy
end
end
end
的remove_...
PARAMS都通过了,什么也没有,虽然删除:
... "remove_banner"=>"1" ...
有什么想法?谢谢。
更新
即使它简化到这不起作用:
after_validation { banner.clear if remove_banner == '1' }
而且"remove_banner"=>"1"
在PARAMS来通过。 u.banner.clear
然后u.banner.save
在控制台中正常工作。
当你销毁'#{a}'.to_sym - 数据存储在哪里?它是否已经在数据库中,或者是参数散列的一部分? –
'#{a}'表示模型中的每个Paperclip附件。 –