кто с ней работал?
accepts_nested_attributes_for :notebook, reject_if: proc { |attributes| attributes['telephone'].blank? }, allow_destroy: true
вообще, правильно ли я понял, если в набора полей "notebook", если поле "telephone" будет пустое то активрекорд не создаст объект notebook.
допустим у меня еще есть поля :name, :surname, :birth_date, как мне проверить на пустоту(если они пустые не передвать их) их но не проверять telephone, то есть мы можем работать если заполнены
:name, :surname, :birth_date и пустое или заполненое поле telephone
accepts_nested_attributes_for :notebook,
reject_if: proc { |attributes| attributes.except(:telephone).blank? }, allow_destroy: true
неработатет
accepts_nested_attributes лучше просто никогда не использовать, почитайте про FormObject паттенр
вот бывают такие ситуации когда надо именно так...
Ты просто можешь передать хеш с атрибутами в поле attributes_for_your_model: {...}
Если в модели notebook стоит валидация на телефон, он и так не создаст и выкинет правильный еррор
вот как раз стояла валидация на телефон, у конкретного пользователя был он не заполнен, при редактировании профиля должна была вылести ошибка валидации, а так как поле он не трогал, эта байда(Active Record не создаст связанный объект для этого хэша) и пользователь благополучно жил с незаполненным телефоном
Обсуждают сегодня