ユーザー番号の入力を11,5から11.5のように変換するにはどうすればよいですか?カンマを区切り文字としてポイントに変換する
私は、コールバックとして次のことを試してみました:
before_validation :comma_to_delimiter
def comma_to_delimiter
self.price.to_s.gsub(',', '.').to_f
end
しかし、これは動作しません。ユーザーが区切り記号として入力したいものを入力できるようにしたい - 現在、ユーザーがポイントの代わりにカンマを使用すると、アプリケーションでエラーがスローされます。
どのようなタイプの値self.priceが説明できますか? – Slicedpan
これをレールアプリに表示するには変更しますか? –
いいえ、表示方法については気にしません。私はロケールを通してそれをとった。 Priceは、区切り文字としてポイントを持つfloatとして格納される浮動小数点値です。問題は、ドイツでは、区切り文字としてポイントではなくカンマで区切って入力することです。したがって、ドイツ人が「5,5」で入力したとしても、それはまだ「5.5」として保存する必要があります。そして、誰かが最初に「5.5」などのように正しく入力すると、何も変更する必要はありません。どのようにこれを行うにはどのようなアイデア? – weltschmerz