У меня есть приложение 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.