比方說,你有沒有和年齡屬性的用戶如果試圖更新屬性爲負數驗證將失敗,但實例仍會有負面的年齡值如果驗證失敗,您可以重置ActiveRecord實例嗎?
這不可能是負class User < ActiveRecord::Base
validates :age, numericality: { greater_than: 0 }
end
#<User id: 1, age: 5, created_at: "2014-11-08 20:14:12", updated_at: "2014-11-08 20:14:12">
user.update_attributes!(:age => -5)
#<User id: 1, age: -5, created_at: "2014-11-08 20:14:12", updated_at: "2014-11-08 20:14:12">
除了捕獲ActiveRecord :: RecordInvalid並重新設置值是否是他們的方式來重置實例,如果其驗證失敗?
的感謝!