如何将float保存到整数列

时间:2016-03-01 11:14:23

标签: ruby ruby-on-rails-4

这应该可以轻松实现:

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的一些东西吗?

1 个答案:

答案 0 :(得分:1)

您无法在float列中存储integer。因为整数(来自拉丁语整数,意思是“整数”)是一个可以在没有小数分量的情况下编写的数字。

您必须将列的类型更改为floatdecimal(根据您的需要)。