【发布时间】:2014-10-06 16:51:58
【问题描述】:
我有以下对象 -
Reckoner Load (0.2ms) SELECT "reckoners".* FROM "reckoners" WHERE
"reckoners"."id" = ? LIMIT 1 [["id", 2]]
=> #<Reckoner id: 2, group: "test FTEProrated", description: "try new calc",
leave: 28, abscence: #<BigDecimal:7fab221cf438,'0.1E2',9(27)>,
created_at: "2014-10-06 15:56:10", updated_at: "2014-10-06 16:14:32",
FTEProRated: #<BigDecimal:7fab221ca1e0,'0.0',9(27)>>
如果我的计算正确,FTEProRated 应该是 0.8 左右 - 但它显示为 0.0。我哪里错了?
在保存对象之前在控制器中进行计算 -
更新中 -
pro_rate_this @reckoner
...
def pro_rate_this(reckoner)
reckoner.FTEProRated = (260-reckoner.leave)/260
end
当我更改 calc 以测试正在保存的内容时,一切似乎都很好 - 例如,这个 -
def pro_rate_this(reckoner)
reckoner.FTEProRated = (260-reckoner.leave)
end
当 reckoner.leave == 28 时给出 232 的值。只有当值变为
【问题讨论】:
-
你是怎么显示的?
-
就像
<%= @reckoner.FTEProRated %>在一个视图中 -
FTEProRated是您数据库中的列吗?如果是这样,列类型是什么?如果没有,请向我们展示计算/分配它的代码。 -
计算在哪里?
-
谢谢大家 - 已按照建议更新了问题。嗨@lurker - 是的,我也看到了,但是纸上的计算结果是 0.8
标签: ruby-on-rails ruby-on-rails-4