看来Rails只会在嵌套模型的属性发生变化时验证现有的无效嵌套模型。如何通过嵌套属性验证现有的无效模型?
有如下型号:
class Person < ActiveRecord::Base
has_many :addresses
accepts_nested_attributes_for :addresses
end
class Address < ActiveRecord::Base
belongs_to :person
validates_presence_of :street
end
例如下面的代码,保存并返回true:
p = Person.first
p.update_attributes({:first_name => "Bryan", :addresses_attributes=>{"0"=>{:street=>"", :id => 1}})
有没有办法来验证嵌套模式,如果它的属性已经改变? (同时保留错误)
使用'save'或'save!'方法。 'update_attributes'用于特殊情况,并且(我将不得不看),但认为它不触发直接的'save'方法执行的某些检查。 – 2012-03-27 02:01:44