0
t.decimal  "eur",        precision: 8,  scale: 2

これは、データベース テーブルの行です (名前は wallet です)。Railsコンソールにデータを入力するにはどうすればよいですか?

私が試してみました

wallet.eur=10これは簡単で、うまくいきません。

wallet.eur=BigDecimal.new('154.00')これは次のようなものをスローしますが => #<BigDecimal:56cadb8,'0.154E3',9(18)>、保存することはできず、0.0 のままです。

アイデアや提案はありますか?

4

2 に答える 2

0

組み込みの Rails 機能を使用します。例については、 NumberHelperのドキュメントを確認してください。

次のコードを使用して移行を追加します。

add_column :items, :price, :decimal, :precision => 8, :scale => 2

次に、この方法を使用します。

number_to_currency(price, :unit => "€")

NoMethodError が発生した場合は、次の行を追加します。

include ActionView::Helpers::NumberHelper
于 2013-08-24T10:31:28.053 に答える
0

通貨を扱う場合は、money-rails gem が価値があるのではないでしょうか?

または、整数を使用してそれをペンス/セントに保存し、それを表示するヘルパーを作成するだけです。

decimal またはさらに悪い float を使用するよりもはるかにうまく機能します。

于 2013-08-23T19:42:46.837 に答える