有没有办法执行以下操作?:
>items=Item.where('location_id=?',8)
>items.count # 12; now delete all of them
>items.destroy
我知道我可以做Item.destroy_all('location_id=?',8)
但我宁愿在破坏性手术前检查我的工作。
答案 0 :(得分:3)
您可以通过ActiveRecord::Relation#destroy_all
method:
items.destroy_all
或
Item.destroy_all(location_id: 8)
每条记录将逐一销毁。如果您想快速删除它而无需额外检查,请改为使用delete_all
:
items.delete_all
# or
Item.delete_all(location_id: 8)
答案 1 :(得分:2)
该方法称为#destroy_all
。
items.destroy_all