Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 增加Rails中的数据库值_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 增加Rails中的数据库值

Ruby on rails 增加Rails中的数据库值,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,在Rails中,我想通过增加一些数据库值来更新它。 比方说,我在一个表中有值30,我想加上0.5 以下是我如何努力实现这一目标的: Record.where(:status => "somestatus").first.value.to_f += 0.5 RoR抱怨说“未定义的方法`to_f='”。 我知道我可以先获得值,然后计算结果,最后更新_属性。但是最有效的方法是什么呢?希望字段值是Float类型,下面将根据您的需要更新值 object = Record.where(:status

在Rails中,我想通过增加一些数据库值来更新它。 比方说,我在一个表中有值30,我想加上0.5

以下是我如何努力实现这一目标的:

Record.where(:status => "somestatus").first.value.to_f += 0.5
RoR抱怨说“未定义的方法`to_f='”。
我知道我可以先获得值,然后计算结果,最后更新_属性。但是最有效的方法是什么呢?

希望字段是Float类型,下面将根据您的需要更新值

object = Record.where(:status => "somestatus").first
object.increment!(:value, 0.5)

有关增量的文档,请参见方法。

您确定数据库中确实需要浮点数吗?如果需要存储小数部分,请考虑在存储它时将整个值乘以10或100(例如存储3050而不是30.5)。列类型是什么?十进制?谢谢你,萨加尔·波米迪!这很有帮助!