我有一个使用 Rails 系统填充的数据库。我正在尝试返回并从其中一个表中删除 id 列表。我目前正在使用以下命令删除单个条目。
Item.find(1).destroy
我希望能够使用单个命令删除一系列 id。(即 1、6、5、8、12、14)
Item.find(1,6,5,8,12,14).destroy
我知道这行不通,但这就是我想做的想法。我对红宝石相当陌生,只是想确定最简单的方法。
我有一个使用 Rails 系统填充的数据库。我正在尝试返回并从其中一个表中删除 id 列表。我目前正在使用以下命令删除单个条目。
Item.find(1).destroy
我希望能够使用单个命令删除一系列 id。(即 1、6、5、8、12、14)
Item.find(1,6,5,8,12,14).destroy
我知道这行不通,但这就是我想做的想法。我对红宝石相当陌生,只是想确定最简单的方法。
当 Rails 可以为您完成时,无需手动获取项目:
Item.destroy_all(id: [1, 6, 5, 8, 12, 14])
或者,正如@ShankyMunjal 发布的那样,如果您只能使用 id,您可以使用:
Item.destroy([1, 6, 5, 8, 12, 14])
这应该有效:
[1,6,5,8,12,14].each {|iid| Item.find(iid).destroy }
Item.destroy( [1,6,5,8,12,14] )