我有两个普通的 Ruby 类,Account 和 Contact。我正在使用 Simple Form 的 simple_form_for 和 simple_fields_for 创建嵌套属性。我希望满足以下验证要求:
- 新帐户必须存在关联的联系人
- 关联的联系人必须有效(即 account.contact.valid?)
看起来 ActiveModel 不再包含 validates_associated 方法,因为使用该方法会导致未定义的方法错误。我考虑过需要 ActiveRecord::Validations,但这导致了一系列错误(例如,未定义的方法 `marked_for_destruction?')
我还考虑在 Account 类上定义 validate 并调用 valid? 在关联对象上,但这只会在父对象上也有错误时阻止表单提交。
validate do |account|
account.contact.valid?
# required for form to fail
errors.add(:base, "some error")
end
有什么我不知道来解决这个问题吗?谢谢。