我已经为此苦苦挣扎了一段时间。我只是想获得嵌套属性以在 Rails 3.2 上进行验证,但没有运气。就好像它完全忽略了对嵌套属性的验证。下面是一个无效的示例验证:
class Invoice < ActiveRecord::Base
validates :description, :presence => true
belongs_to :client_branch
has_many :invoice_items
accepts_nested_attributes_for :invoice_items, :allow_destroy => true
end
class InvoiceItem < ActiveRecord::Base
belongs_to :invoice
validate :thisisatest
def thisisatest
errors.add(:qty, 'QTY NOT VALIDATING TEST.')
end
end
当保存带有一些 InvoiceItems 的 Invoice 时,它会成功保存它,即使自定义验证显然会为 :qty 属性添加错误。有什么我应该添加到我的模型中以使嵌套验证工作的东西,还是我可能遗漏了其他东西?