mysql でスケール/有効桁数が 4 の 10 進数フィールドを定義しました (例: 10.0001 )。ActiveRecord は BigDecimal として返します。
ActiveRecord のフィールドにスケール 5 (例: 10.00001 ) を設定して保存すると、値が実質的に切り捨てられます (10.0000 として保存されます)。
これを防ぐ方法はありますか?スケールを強制する方法がある場合は、すでに BigDecimal クラスを見てきました。見つかりませんでした。BigDecimal のスケールを計算して検証エラーを返すことはできますが、それを強制するためのより適切な方法があるかどうか疑問に思います。