我知道我可以跳过单个保存的验证,如下所示:
User.new(name: 'John').save(validate: false)
但是,当同时保存多个对象时,我该如何做到这一点呢?像这样:
Category.create([
{ name: 'Apps' },
{ name: 'Songs' },
{ name: 'Movies' }
])
我发现了这个宝石:https://github.com/zdennis/activerecord-import 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 对象。 https://github.com/zdennis/activerecord-import#examples
我猜它会生成纯 SQLvalidate设置为 false 因此可以跳过验证。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)