我一直在努力解决这个问题。我只是试图获得嵌套属性以在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属性添加了错误,它也会成功保存。是否有什么东西我应该添加到我的模型中以进行嵌套验证,或者我可能还缺少其他东西?
答案 0 :(得分:0)
实际上,我很愚蠢。我更改了模型名称以及对它的所有引用,我花了很长时间才错过了一个仍然指向javascript中的旧模型的引用。因此,动态添加的项目未正确命名,导致验证不会触发。 :/