1

私はフィールドを持っています -

:Revenue

のような値を受け入れる必要がありますが、そのような値を入力すると、代わりにデータベースに10,000.00保存されます1010000.00

保存する前にコンマを削除するにはどうすればよいですか?

オンラインでいくつかのソリューションを見つけようとしましたが、不完全であることがわかったため、実装できませんでした。誰かが私を助けてくれれば、本当に感謝しています。

**現在私が直面している問題は、値を入力するとすぐに、gsub関数を実行する前にレールが文字列をfloat値に変換することです.50,000.00を入力すると、gsubを呼び出す前にfloat 50.0に変換されます. Railsが文字列で呼び出しているto_fメソッドを介して方法。

4

3 に答える 3

4

を取ることができますString#delete

"10,000,000.00".delete(',').to_f 
# => 10000000.0
于 2013-06-27T17:50:31.843 に答える
1

モデルへのリンクを行う前にgsubを使用する必要があったため、いくつかの場所を見ていくつかのソリューションを組み合わせた後に解決策を見つけました。そのため、コントローラーでメソッドを作成し、作成および更新アクションの前に呼び出しました。そして、メソッドに次のコードを書きました

params[:record][:Revenue] = params[:record][:Revenue].gsub(/,/,"")
于 2013-06-27T20:01:25.973 に答える