看來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