кто с ней работал? 
                  
                  
                  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 не создаст связанный объект для этого хэша) и пользователь благополучно жил с незаполненным телефоном
Обсуждают сегодня