我在许多项目中使用activerecord,但从未遇到过这类问题。 这是我的班级
class Ondon < ActiveRecord::Base
self.table_name = $rdms_3ondon_table
self.sequence_name = $rdms_3ondon_sequence
end
我创建了一个像这样的记录
Ondon.create(:nr=>member.nr,
:dossier_nr=>dosnr,
:cre_dt=>Time.now,
:rowversion=>1,
:status=>4
)
但是为状态插入的值总是0,无论我输入到create的值是多少。 其他字段插入正常。
当我激活调试器时,在sql中看到插入了值0。
状态是某种保留字吗?不幸的是我无法更改此字段的名称。 有没有人对此提出建议/解决方案?
答案 0 :(得分:0)
找到它。 oracle表中类型编号的字段状态的精度为1,在这种情况下,activerecords将其处理为布尔字段(0 = false,1 = true),我的值4被忽略。 我将精度提高到6(不知道有关规则),现在插入工作正常。
这是activerecord中的错误吗?我不知道..