#はじめに
NoMethodError: undefined method 'new' for BigDecimal:Class
の詳しい対処法が日本語であまり載ってなさそうなので、備忘録として残しておきます。
#対処法
結論として
Gemfile
のbigdecimal
を下記内容に修正したら、うまく行きました。
gem 'bigdecimal', '1.3.5'
gemの内容を書き換えたのでその内容を反映させるために、bundle install
を行なってください。
$ bundle install
#意味
バージョン | 特徴 | サポートされているRubyのバージョン範囲 |
---|---|---|
2.0.0 | BigDecimal.newとサブクラス化の使用ができない | 2.4 .. |
1.4.x | BigDecimal.newとサブクラス化を使用の際、警告がいつも表示される | 2.3 .. 2.6 |
1.3.5 | 警告なしでBigDecimal.newとサブクラス化を使用できる | .. 2.5 |
参考
https://stackoverflow.com/questions/60226893/rails-nomethoderror-undefined-method-new-for-bigdecimalclass
https://github.com/ruby/bigdecimal#which-version-should-you-select