如何通过使记录经过所有必要的验证来更新rails中的记录?据我所知
record.update_attributes(update_hash)
将跳过所有验证。 如何更新我的记录而不跳过验证?顺便说一下,我正在使用Rails 3.2。
答案 0 :(得分:1)
在Rails 3.2中,方法update_attributes
运行所有模型验证,只有 单数形式 update_attribute
跳过验证。幸运的是,在Rails 4中,他们弃用了后者,而推荐使用update_column
(see commit)。
文档:
答案 1 :(得分:1)
update_attributes
本身检查验证。
如果无法保存(由于验证错误或错误的查询),它将返回false。
内部update_attributes
实际上会调用save
方法本身,该方法会在保存到数据库之前检查验证。