1
我与后续的代码一个Rails应用程序:删除回形针附件,除非它是最后一个
class Rig < ActiveRecord::Base
has_many :rig_pictures, :dependent => :destroy
accepts_nested_attributes_for :rig_pictures,
:allow_destroy => true,
#we reject blank pictures unless they have to be deleted
:reject_if => lambda { |a| a['picture'].blank? && !a['_destroy'] }
validate :has_beween_1_and_x_pictures
private
def has_beween_1_and_x_pictures
errors.add_to_base("must not have more than 8 pictures") if rig_pictures.size > 8
errors.add_to_base("must have at least 1 picture") if rig_pictures.size < 1
end
end
我的问题是“必须至少有1张”验证。如果用户处于编辑窗体并删除了他的所有图片,验证将不会失败,因为此时它不知道要删除它。
所以我的问题是:我如何确保验证只考虑真实图片而不是我想要删除的图片?
Thx。
不得不因为需要改用另一种策略。我将在下一次尝试这一点......有一件事是肯定的:PaperClip真的需要更好的管理来删除,我想我必须自己去处理它! – Alain 2011-01-22 04:33:08