ActiveRecord:保存多个对象时跳过验证 [英] ActiveRecord: Skip validation when saving multiple objects

查看:75
本文介绍了ActiveRecord:保存多个对象时跳过验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道我可以跳过单个保存的验证,例如:

I know I can skip validations for an individual save, like this:

User.new(name: 'John').save(validate: false)

但是当一次保存多个对象时该怎么做?像这样:

But how can I do that when saving multiple objects at once? Like this:

Category.create([
  { name: 'Apps' },
  { name: 'Songs' },
  { name: 'Movies' }
])


推荐答案

我发现了这个宝藏: https://github.com/ zdennis / activerecord-import

它的工作原理如下:

categories = [ 
  Category.new(name: 'Apps'),
  Category.new(name: 'Songs'),
  Category.new(name: 'Movies')
]

Category.import(categories, validate: false)

也可以使用普通数组代替ActiveRecord对象。

我想当 validate 设置为false时,它会生成纯SQL,这样它就可以跳过验证。

I guess it generates pure SQL when validate is set to false so it can skip validations.

这篇关于ActiveRecord:保存多个对象时跳过验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆