在 Rails 中,我想通过递增来更新一些数据库值。比如说,我的表中有 30 的值,我想加上 0.5。
以下是我尝试完成的方法:
Record.where(:status => "somestatus").first.value.to_f += 0.5
RoR 抱怨说“未定义的方法 `to_f='”。我知道我可以先获取值,计算结果,最后更新属性。但是最有效的方法是什么?
在 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)
在此处查看有关增量的文档!方法。