なぜこのようなことが起こっているのかわかりませんが、ページの再読み込み後も一貫して発生します。私はparams
にcredit_amount
を送りますが、コントローラはそれらを取得しますが、見つかったレコードを更新すると何とか0に戻ります。その奇妙なことです。強力なパラメータが送信され、不思議に変更されました(RubyとjQuery)
Processing by CustomersController#update as JSON
Parameters: {"id"=>"89", "credit_amount"=>"$75.01"}
Shop Load (0.2ms) SELECT "shops".* FROM "shops" WHERE "shops"."id" = ? LIMIT 1 [["id", 1]]
Customer Load (0.1ms) SELECT "customers".* FROM "customers" WHERE "customers"."id" = ? LIMIT 1 [["id", 89]]
(0.1ms) begin transaction
Customer Exists (0.2ms) SELECT 1 AS one FROM "customers" WHERE
("customers"."fresh_customer_id" = '6474232467' AND "customers"."id" != 89)
LIMIT 1
これはcredit_amount
は$ 75.01だったと今では0.0を下回るまで、ここまで、興味深い部分です:
SQL (0.2ms) UPDATE "customers" SET "credit_amount" = ?, "updated_at" = ?
WHERE "customers"."id" = ? [["credit_amount", 0.0],
["updated_at", "2017-04-25 22:25:57.428297"], ["id", 89]]
そして、これはRubyのである。ここ
は、サーバのログが持っているものですデータを受信して処理するコントローラ:
def update
@customer = Customer.find(customer_params)
update_amount = params["credit_amount"].to_f
@customer.update(credit_amount: update_amount)
render json: {id: customer_params, credit_amount: update_amount}
end
文字列を使用していて、dbが数字を期待している可能性がありますか? – Gerry