使用验证更新模型 Rails 3.2

Updating a model with validations Rails 3.2

如何通过所有必要的验证来更新 rails 中的记录?据我所知

record.update_attributes(update_hash) 

将跳过所有验证。 如何在不跳过验证的情况下更新我的记录?顺便说一句,我正在使用 Rails 3.2。

在Rails3.2中,方法update_attributes运行所有模型验证,只有单数形式 update_attribute 跳过验证。幸运的是,在 Rails 4 他们弃用了后者,支持 update_column (see commit).

文档:

update_attributes 本身检查验证。 如果无法保存(由于验证错误或错误查询),它 returns 为 false。

在内部 update_attributes 实际上调用 save 方法本身,它在保存到数据库之前检查验证。