У меня есть два простых класса Ruby: Account и Contact. Я использую simple_form_for и simple_fields_for Simple Form для создания вложенных атрибутов. Я хочу выполнить следующие требования проверки:
- Для новой учетной записи должен существовать связанный контакт.
- Связанный контакт должен быть действительным (т. е. account.contact.valid?)
Похоже, что ActiveModel больше не включает метод validates_associated, так как использование этого метода приводит к ошибке неопределенного метода. Я рассматривал необходимость ActiveRecord::Validations, но это привело к множеству различных ошибок (например, неопределенный метод `marked_for_destruction?')
Я также подумал об определении проверки в классе Account и вызове valid? для связанного объекта, но это предотвратило отправку формы только в том случае, если в родительском объекте также была ошибка.
validate do |account|
account.contact.valid?
# required for form to fail
errors.add(:base, "some error")
end
Есть ли что-то, о чем я не знаю, чтобы решить эту проблему? Спасибо.