我使用 Roo 从 Excel 中将一些值导入到我的 Rails 应用程序的布尔字段中。
在 Rails 控制台中,看起来一切正常,但在我的 Rails 应用程序中,Rails 似乎没有读取布尔值。
我有一个 DataPoint 模型。DataPoint 的一个属性是当前使用的布尔字段。
在 Rails 控制台中它是这样工作的(看起来不错):
003:0 > x.currently_employed
=> true
004:0 > z.currently_employed
=> false
005:0 > x.currently_employed == false
=> false
006:0 > x.currently_employed == "true"
=> false
007:0 > x.currently_employed == true
=> true
008:0 > z.currently_employed == false
=> true
009:0 > z.currently_employed == "false"
=> false
010:0 > z.currently_employed == true
=> false
鉴于控制台中的一切看起来都不错,我认为我的 data_point.rb 模型中的这个公式可以正常工作:
def self.pct_true(data_points)
true_count = 0
data_points.each do |x|
if x.currently_employed
true_count += 1
else
end
end
return true_count / data_points.count * 100
end
但它返回值为零,即使我有多个 DataPoint 实例,其中 x.currently_employed 在 Rails 控制台中的计算结果为 true。
有趣的是,当我将布尔字段“currently_employees”更改为整数字段“annual_income”时,这个相同的函数计算每个实例并返回值 100。
鉴于上面的 Rails 控制台结果,知道我的模型中的方法可能有什么问题吗?
谢谢!