BigDecimal 属性更改每个页面重新加载
BigDecimal attribute changes every page reloading
我注意到我的数据库行中的 BigDecimal 属性在每次重新加载页面时都会发生变化。
sum: #<BigDecimal:4add7d0,'0.9E0',9(36)>
ctrl+r
sum: #<BigDecimal:639f200,'0.9E0',9(36)>
ctrl+r
sum: #<BigDecimal:594ceb0,'0.9E0',9(36)>
可以吗?
在我看来 对象 ID 正在改变,但 值 没有改变;您列出的所有结果都使用格式 #<BigDecimal:xxxxxxx,'0.9E0',9(36)>
每次重新加载页面时,Rails 都会创建一个 new BigDecimal
对象实例,但与 相同里面的数据。这是一个类似的例子,使用 irb
控制台:
irb(main):004:0> require 'bigdecimal'
=> true
irb(main):005:0> BigDecimal(9)
=> #<BigDecimal:2aadb50,'0.9E1',9(36)>
irb(main):006:0> BigDecimal(9)
=> #<BigDecimal:2764ab8,'0.9E1',9(36)>
irb(main):007:0> BigDecimal(9)
=> #<BigDecimal:25c3638,'0.9E1',9(36)>
irb(main):008:0>
我注意到我的数据库行中的 BigDecimal 属性在每次重新加载页面时都会发生变化。
sum: #<BigDecimal:4add7d0,'0.9E0',9(36)>
ctrl+r
sum: #<BigDecimal:639f200,'0.9E0',9(36)>
ctrl+r
sum: #<BigDecimal:594ceb0,'0.9E0',9(36)>
可以吗?
在我看来 对象 ID 正在改变,但 值 没有改变;您列出的所有结果都使用格式 #<BigDecimal:xxxxxxx,'0.9E0',9(36)>
每次重新加载页面时,Rails 都会创建一个 new BigDecimal
对象实例,但与 相同里面的数据。这是一个类似的例子,使用 irb
控制台:
irb(main):004:0> require 'bigdecimal'
=> true
irb(main):005:0> BigDecimal(9)
=> #<BigDecimal:2aadb50,'0.9E1',9(36)>
irb(main):006:0> BigDecimal(9)
=> #<BigDecimal:2764ab8,'0.9E1',9(36)>
irb(main):007:0> BigDecimal(9)
=> #<BigDecimal:25c3638,'0.9E1',9(36)>
irb(main):008:0>