amount
データベースに小数の列があるモデルがあります。BigDecimal
このモデルがインスタンス化されるときに、特定の精度でのみが与えられるようにしたいと思います。が提供されたときにシナリオをテストするための仕様を作成しました。Float
その後、が提供されてbefore_create
いない場合にエラーを発生させるコールバックがありますBigDecimal
。
ただし、値がbefore_create
コールバックに到達するまでに、Railsはすでに値をに変換していBigDecimal
ます。これは私が思っていた素晴らしいことであり、おそらくまだ精度をチェックできますが、レールがどのように変換されるか正確にはわからないので、チェーンのさらに上流で適切な引数タイプと精度をチェックするとよいでしょう。
これを行う方法はありますか?