2013-09-16 79 views
0

我在許多項目中使用activerecord,但從未遇到過這種問題。 這裏是我的課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,不管我喂到創造什麼價值。 其他字段插入正常。

當我激活調試器是在sql中看到值0插入。

是狀態某種保留字嗎?不幸的是我不能改變這個字段的名字。 有沒有人有這樣的建議/溶劑?

+0

「status」列的類型是什麼?它可能不是一個整數(INT)類型? – pdobb

+1

你爲什麼要把'$ rdms_3ondon_table'聲明爲全局變量?這真的很奇怪。 – tadman

+0

狀態的類型是數字,我使用全局,因爲我不能在activerecord類中使用我的配置hash @conf ['rdms_3ondon_table'],所以我把它分配給一個全局變量 – peter

回答

0

找到它。 oracle表格中字段狀態的精確度爲1,在這種情況下,activerecords像布爾字段一樣處理它(0 = false,1 = true),我的值4被忽略。 我把精度提高到了6(不知道關於這個的規則),現在插入工作正常。

這是一個activerecord中的錯誤?我不知道......