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附件。 –