比方说,你有没有和年龄属性的用户如果试图更新属性为负数验证将失败,但实例仍会有负面的年龄值如果验证失败,您可以重置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并重新设置值是否是他们的方式来重置实例,如果其验证失败?
的感谢!