0

Я создаю страницу продукта, где пользователь может загрузить более одной фотографии продукта. Чтобы создать и отредактировать продукт, я создаю файл формы. Для загрузки фотографий я использовал nested_fields для фотографий в виде продукта. Вот как фото-код в виде выглядит следующим образом:Rails: предотвратить отправку формы, если поле пуста

<%= f.fields_for :photos do |photo| %> 
    <%= image_tag photo.object.avatar.url(:thumb), unless f.object.new_record? or photo.object.new_record? %> 
    <%= photo.file_field :avatar, :style => "none" %> 
    <%= photo.link_to_remove "Remove"%> 
<% end %> 
<%= f.link_to_add 'Add Photos', :photos, "data-association-insertion-node"=> ".photos", "data-association-insertion-position" => "append", "data-type" => "link"%> 

В модели продукта,

has_many :photos, :as => :attachable, :dependent => :destroy 
accepts_nested_attributes_for :photos, :allow_destroy => true 

Когда пользователь создает продукт, я использовал проверку на наличие фото. Таким образом, пользователь должен загрузить фотографию. Эта деталь работает правильно.

В фото модели:

validate :validates_account_avatar 

Но проблема заключается в редактировании. Пользователь может удалить все фотографии. Здесь я хочу, чтобы пользователь не удалял все фотографии.

Как уведомить пользователя о том, что поле фото не может быть пустым или хотя бы одна фотография должна присутствовать при отправке отредактированного продукта.

Я пытался использовать это:

accepts_nested_attributes_for :photos, :allow_destroy => true, :reject_if => lambda { |a| a[:avatar].blank? } 

, но не использовать.

Помощь!

ответ

Смежные вопросы