0

我已经为此苦苦挣扎了一段时间。我只是想获得嵌套属性以在 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 属性添加错误。有什么我应该添加到我的模型中以使嵌套验证工作的东西,还是我可能遗漏了其他东西?

4

1 回答 1

0

其实,我是个傻子。我更改了模型名称以及对它的所有引用,我花了这么长时间才错过仍然指向 javascript 中旧模型的引用。因此,动态添加的项目未正确命名,导致验证未触发。:/

于 2012-05-09T21:58:10.270 回答