这应该可以轻松实现:
b = Balance.first
b.total = 2.20
b.save #=> 2.2
b #=> 2
Total表的列是一个整数:integer
。我是否需要将表设置为float,因为未注册小数?
这是Rails 4部分;提交表单时,我有Balance
模型:
...
before_save :balance_to_float
def balance_to_float
self.total = self.total.to_f
end
...
没有得到浮动。我错过了Ruby 2.3的一些东西吗?
答案 0 :(得分:1)
您无法在float
列中存储integer
。因为整数(来自拉丁语整数,意思是“整数”)是一个可以在没有小数分量的情况下编写的数字。
您必须将列的类型更改为float
或decimal
(根据您的需要)。