未调用嵌套属性验证

时间:2012-05-09 21:27:21

标签: ruby-on-rails validation activerecord ruby-on-rails-3.2

我一直在努力解决这个问题。我只是试图获得嵌套属性以在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属性添加了错误,它也会成功保存。是否有什么东西我应该添加到我的模型中以进行嵌套验证,或者我可能还缺少其他东西?

1 个答案:

答案 0 :(得分:0)

实际上,我很愚蠢。我更改了模型名称以及对它的所有引用,我花了很长时间才错过了一个仍然指向javascript中的旧模型的引用。因此,动态添加的项目未正确命名,导致验证不会触发。 :/