Rails: атрибут _destroy во вложенной модели пропускает validates_presence_of - PullRequest
2 голосов
/ 04 декабря 2010

Я следую за вложенной моделью, часть 1 .

Но у меня одна проблема.

Если я добавлю validates_presence_of :answers:

class Question < ActiveRecord::Base
 belongs_to :survey
 validates_presence_of :answers
 has_many :answers, :dependent => :destroy
 accepts_nested_attributes_for :answers, 
        :reject_if => lambda { |a| a[:content].blank? },  
        :allow_destroy => true
end

_destroy пропускает проверку модели Вопроса.Поэтому я могу обновить модель Вопроса пустыми ответами.

Возможно, я делаю это неправильно.Как я могу это исправить?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 декабря 2010

Я думаю, вы не хотите :validates_presence_of :answers, я думаю, вы хотите :validates_associated :answers, который будет запускать проверки ответов.

0 голосов
/ 16 января 2014

Я тоже задал этот вопрос и нашел ответ.

Эта ссылка лучше описывает проблему (из моего вопроса) и также имеет ответ на нее. http://homeonrails.com/2012/10/validating-nested-associations-in-rails/

В основном он отверг те, которые помечены для уничтожения, и подсчитал оставшиеся.

...