有没有办法强制暗示update_all验证

时间:2013-09-10 12:33:49

标签: ruby-on-rails

我有一个Rails应用程序我使用update_all进行更新,但正如我们所知,它正在跳过验证,如何在此update_all上强行应用验证

1 个答案:

答案 0 :(得分:1)

来自API docs (强调我自己)

  

如果所有记录与提供的一组条件匹配,则更新所有记录,也可以提供限制和订单。此方法构造单个SQL UPDATE语句并将其直接发送到数据库。 它不会实例化相关模型,也不会触发Active Record回调或验证。

不,在调用update_all时无法强制验证。 update_all的目的是批量修改记录而不为每条记录实例化模型实例。必须存在模型实例才能使记录具有针对其调用的验证。