0

Rails システムを使用して作成されたデータベースがあります。戻って、テーブルの 1 つから ID のリストを削除しようとしています。現在、次のコマンドを使用して単一のエントリを削除しています。

Item.find(1).destroy

一連の ID を 1 つのコマンドで削除できるようにしたいと考えています。(つまり、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
Item.destroy( [1,6,5,8,12,14] )
于 2013-01-10T14:30:53.280 に答える
1

これはうまくいくはずです:

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