10,235,333 のような入力フィールドに 10 進値を指定しようとしています。この値を取りますが、次のフィールドに移動すると、テキスト フィールドからコンマが削除されます。フォームを送信するまでテキスト フィールドにカンマを残す方法はありますが、フォームを送信すると数字のみがデータベースに保存されますか?
前もって感謝します..
10,235,333 のような入力フィールドに 10 進値を指定しようとしています。この値を取りますが、次のフィールドに移動すると、テキスト フィールドからコンマが削除されます。フォームを送信するまでテキスト フィールドにカンマを残す方法はありますが、フォームを送信すると数字のみがデータベースに保存されますか?
前もって感謝します..
この問題の解決策があります。これにはjquery.numberという jquery プラグインがあります。このプラグインは、数字にコンマを自動的に追加します。
このプラグインは、入力値を暗黙的にフォーマットします。
入力した場合のように
10000 it formats this no to 10,000
for 1000 = 1,000
for 100000 = 100,000
for 1000000 = 1,000,000
セッターメソッドをオーバーライドできます。価格フィールドが与えられると、
# model
def price=(num)
write_attribute :price, price.gsub(/[^\d]/, '')
end
次に、ビューで、ビューをレンダリングする前に値をフォーマットできます
f.text_field :price, value: number_with_delimiter(f.object.price)