【问题标题】:Why datamapper always round a default decimal to a integer为什么 datamapper 总是将默认小数舍入为整数
【发布时间】:2013-04-16 01:36:17
【问题描述】:

我使用 Ruby sinatra 和 datamapper。 在我的模型中,我有一个小数属性

property :sim_update_interval, Decimal, :precision=>10, :scale=>2 , :default=>0.9

问题是: 每次创建模型的新实例时,:sim_update_interval 的默认值从不是 0.9,而是 1.0

puts instance.sim_update_interval 
#=> 0.1E1

我尝试将默认值更改为0.2,输出变为0.0 似乎 datamapper 总是将默认值四舍五入为整数。我很困惑

【问题讨论】:

    标签: ruby sinatra datamapper


    【解决方案1】:

    事实证明,当表中有数据(行)时,rake db:migrate 不会修改现有列。我擦了桌子,做了 rake db:migrate,现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 2021-07-07
      • 1970-01-01
      相关资源
      最近更新 更多