Игнорировать ошибку проверки при использовании accepts_nested_attributes_for (т.е. предотвратить откат)? - PullRequest
1 голос
/ 19 октября 2010

Итак, предположим, у меня есть модели Person и Child:

class Person < ActiveRecord::Base
    has_many :children
    accepts_nested_attributes_for :children
end

class Child < ActiveRecord::Base
    belongs_to :parent, :class_name => "Person"
    validates_presence_of :name
end

Теперь, когда я использую вложенную форму и сохраняю Person с двумя новыми дочерними элементами, вся транзакция завершится неудачно, если один из дочерних элементов не сможет выполнить проверку (т.е. произойдет откат).

Как мне проигнорировать этот сбой проверки и просто сохранить 1 человека и 1 ребенка, которые действительны? Я не хочу, чтобы вся транзакция потерпела неудачу, потому что 1 ребенок не прошел проверку. Я просто хочу сохранить действительные записи ...

Помощь высоко ценится, спасибо!

P.S. используя :reject_if, если это не вариант для меня, потому что мне нужно иметь доступ к недействительным записям до того момента, пока я не сохраню их в базе данных (тогда я хочу отклонить те, которые остаются недействительными)

1 Ответ

0 голосов
/ 19 октября 2010

Вы можете решить эту проблему без "acceptpts_nested_attributes_for: children" и отдельно сохранить отдельные объекты в вашем контроллере ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...