我正在构建 Rails 5 API,我试图在其中发送金额并将其存储在 PostgresQL 数据库中。我发送的金额为 2.4,但我在数据库中看到仅存储了 2 个。我做错了什么?
我的迁移:
class CreateTransactions < ActiveRecord::Migration[5.1]
def change
create_table :transactions do |t|
t.monetize :transaction_price, amount: { null: true, default: nil }
t.timestamps
end
end
end
我的模型是:
class Transaction < ApplicationRecord
monetize :transaction_price_cents
end
我的控制器:
class TransactionsController < ApiController
def create
transaction = Transaction.new(transaction_param)
if transaction.save
render json: { status: 'SUCCESS', data:transaction }, status: :ok
end
end
private
def transaction_param
params.require(:transaction).permit(:transaction_price_cents)
end
end
我用邮递员发送这个json:
{
"transaction_price_cents": 345.23
}
我得到的回应是:
{
"status": "SUCCESS",
"data": {
"id": 1,
"transaction_price_cents": 345,
"transaction_price_currency": "USD",
}
}
我要么想要 345.23 要么 34523 但它只给我 345!