加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何从我的数据库中删除Rails中的id /对象数组

发布时间:2020-12-17 04:02:00 所属栏目:百科 来源:网络整理
导读:我知道可以做一些像Model.destroy_all(状态:“无效”)的事情.我希望我的案子很简单,但我不能那样做.我有一个加密的字符串列,它通过attr_encrypted gem映射到一个整数数组,这使得这很麻烦. 基本上,我有一个这样的数组:array = [object1,object2,object3,obj
我知道可以做一些像Model.destroy_all(状态:“无效”)的事情.我希望我的案子很简单,但我不能那样做.我有一个加密的字符串列,它通过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),其中第一个不执行任何回调并且肯定要快得多,而另一个实例化并执行所有回调.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读