1
我想通過ActiveRecord訪問Limesurvey數據庫。一些表具有像'79924X192X1240'這樣的列名。當我要訪問的模型,我得到以下錯誤:ActiveRecord和非法列名
ActionView::Template::Error (/usr/local/rvm/gems/ruby-1.9.2-p318/gems/activerecord-3.1.10/lib/active_record/attribute_methods/time_zone_conversion.rb:44: syntax error, unexpected tINTEGER
def 79924X192X1240=(original_time)
^):
我想,出現錯誤,因爲它是不允許的,這一種方法以數字開頭。但是我不能改變列名,因爲Limesurvey會生成這些列。
僅當某列(如79924X192X1240)的數據類型爲日期時間時纔會出現此錯誤。其他數據類型如varchar不會產生任何問題。
我怎樣才能訪問這些日期時間列呢?
沒錯,但我想用ActiveRecord訪問它們。此外,其他數據類型使用這些名稱(79924X192X1240)。因此,這些列名稱不適用於任何數據類型,或者它是一個錯誤,它也應該適用於日期時間數據類型。 – Christian
您是否嘗試過使用哈希來訪問列:'.attributes'? – weexpectedTHIS
調用模型時,該錯誤已經出現。 – Christian