Dav*_*vid 4 arrays ruby-on-rails rails-activerecord
我明白一个人可以做点什么Model.destroy_all(status: "inactive").我希望我的案子很简单,但我不能那样做.我有一个加密的字符串列,它通过attr_encrypted gem映射到一个整数数组,这使得这很麻烦.
基本上,我有一个这样的数组:array = [object1, object2, object3, object4]每个对象都是模型对象.
我希望能够做这样的事情Model.destroy_all(array)还是Model.delete_all(array),但我无法做到这一点.
我甚至尝试了以下内容:Model.destroy_all(array.map(&:id))并且Model.delete_all(array.map(&:id))我无法成功删除它们.
我希望尽可能高效,因为我接到电话,所以我认为array.map(&:destroy)或者array.map(&:delete)不高效N.我应该这样做并将其包装在交易中吗?有没有更好的办法?
更新:我想出来并在下面包含了一个答案.
嗯,这很傻.事实证明我可以做到:
Model.delete(array)或者Model.destroy(array)第一个不执行任何回调并且肯定要快得多,而另一个实例化并执行所有回调.
| 归档时间: |
|
| 查看次数: |
2827 次 |
| 最近记录: |