0

我有一个使用 Rails 系统填充的数据库。我正在尝试返回并从其中一个表中删除 id 列表。我目前正在使用以下命令删除单个条目。

Item.find(1).destroy

我希望能够使用单个命令删除一系列 id。(即 1、6、5、8、12、14)

Item.find(1,6,5,8,12,14).destroy

我知道这行不通,但这就是我想做的想法。我对红宝石相当陌生,只是想确定最简单的方法。

4

3 回答 3

3

当 Rails 可以为您完成时,无需手动获取项目:

Item.destroy_all(id: [1, 6, 5, 8, 12, 14])

或者,正如@ShankyMunjal 发布的那样,如果您只能使用 id,您可以使用:

Item.destroy([1, 6, 5, 8, 12, 14])
于 2013-01-10T14:23:19.913 回答
1

这应该有效:

[1,6,5,8,12,14].each {|iid| Item.find(iid).destroy }
于 2013-01-10T14:17:16.483 回答
1
Item.destroy( [1,6,5,8,12,14] )
于 2013-01-10T14:30:53.280 回答