Ruby on rails 奇异的数据播种错误

Ruby on rails 奇异的数据播种错误,ruby-on-rails,ruby,decimal,Ruby On Rails,Ruby,Decimal,我有一个名为Order的类,它有字段total和commission_amount,这两个字段都是小数。在seeds.rb文件中,我按原样分配两个字段100.00(无引号)。当我进入rails控制台并键入Order.all时,我可以看到seeds文件创建的订单的佣金金额为100.00,但总额列为0.0 我曾尝试使用rails控制台为其分配不同的数字,total和commission amount都是十进制属性,精度为10,刻度为2。我曾尝试使用BigDecimal构造函数来分配种子文件中的值,但

我有一个名为Order的类,它有字段total和commission_amount,这两个字段都是小数。在seeds.rb文件中,我按原样分配两个字段
100.00
(无引号)。当我进入rails控制台并键入Order.all时,我可以看到seeds文件创建的订单的佣金金额为
100.00
,但总额列为
0.0

我曾尝试使用rails控制台为其分配不同的数字,total和commission amount都是十进制属性,精度为10,刻度为2。我曾尝试使用BigDecimal构造函数来分配种子文件中的值,但没有对total属性进行任何类型的验证。在什么应该是一个微不足道的问题上,我感到相当困惑。谢谢你的帮助

编辑:以下是相关的代码示例

#迁移
类CreateOrders
ActiveRecord中的奇怪值关联错误通常由名称冲突引起。ActiveRecord为模型的数据库表中的所有字段定义setter和getter方法,ruby允许您以静默方式重写类定义中的那些字段

最好的建议是,不要使用保留字作为列名(典型的候选词是“type”、“object”、“class”),不要调用与关联对象相同的列,最后不要定义与数据库中的列同名的方法


在您的情况下,请检查您是否在模型定义中定义了名为
total
的方法。

您是否成功尝试通过console分配值,或者这也不起作用?您的完整列定义是什么(包括默认值)?你能粘贴seeds.rb文件的相关部分吗?通过控制台分配佣金只对佣金金额有效,而不是总额,我刚刚用代码示例更新了这是你发布的迁移代码中的一个打字错误,还是你的真实代码也错了?什么是
order.total.class
(在订单实例中调用)?@davidicus什么意思“分配不适用于总计”?您是否得到错误或它是否保持为零?您是否也可以显示您的模型?您是否可能在其中定义了名为
total
的方法?您是否验证了数据库中的实际值?