0

価格を整数として保存することにしましたが、これには問題があります。

もちろん、ユーザーは価格をポンドとペンスで入力します。私はペンスとして保存したいのですが、これを行う最良の方法は何ですか。

私がこれまでに試したことは、before_save私のモデルでは次のとおりです。

def convert_price
  self.price = self.price * 100
end

しかし、これには2つの問題があります.1つ目は、コントローラーでトランザクションを使用しているため(保存する前に、実行中の他の何かが問題ないことを確認するため)、100を2回掛けているようです! 2 番目の問題は、たとえばユーザーが 56.85 と入力すると、ターミナルを見ると入力が 56 であると表示されることです。これは、他の処理を行う前に Int として型キャストされるためです。

Money ジェムはやり過ぎだと思うので使いたくありません - 素敵でシンプルな解決策を望んでいます。

4

1 に答える 1