5

2000 エントリの列car_detailsがあり、それぞれが次のような情報のハッシュです。

{"capacity"=>"0",
 "wheels"=>"6",
 "weight"=>"3000",
 "engine_type"=>"Diesel",
 "horsepower"=>"350",
 "fuel_capacity"=>"35",
 "fuel_consumption"=>"30"}

一部の車には詳細が記載されており、一部の車両には詳細が記載されていません。そのキーを持っているすべての車で、"fuel_consumption"キーの名前を に変更したいと思います。"mpg"

4

3 に答える 3

2

前の回答では 2000 件のリクエストが生成されますが、REPLACE代わりに関数を使用できます。MySQL と PostgreSQL の両方にそれがあるため、次のようになります。

Car.update_all("car_details = REPLACE(car_details, 'fuel_consumption', 'mpg')")

update_all条件の方法を見てみましょう。

PostgreSQL 文字列関数およびMySQL 文字列関数も参照してください。

于 2013-10-22T21:35:00.250 に答える