2014-03-05 34 views
0

我使用ActiveRecord訪問MSSQL服務器上的模式。修改架構不是一個選項,列名中有空格,la SPACEY COLUMN將ActiveRecord與具有空格的列名一起使用

當寫入ActiveRecord類訪問一個包含空格的表時,什麼是好的做法?

我們也需要這與工廠女孩工作...

+0

我不從地洞知道ActiveRecord的,但在一般情況下,如果在列或表名稱空間是給你的問題,你可以使用雙引號:'「斯派西COLUMN」'或方括號:'[SPACEY COLUMN]'。 – Andrew

回答

1

AR-JDBC(還有AR-SQLServer的適配器)將/應對此進行處理就好了,因爲它的自動神奇引述列名標識符使用「[COLUMN NAME]」...我個人會盡量避免冒險,例如使用別名:

class MySpacey < ActiveRecord::Base 
    set_table_name 'SPACEY TABLE' 
    set_primary_key 'MY ID' 
    alias_attribute :id, :'MY ID' 
end 
+0

這是什麼東西,看起來像一個符號和一個字符串之間的混合(':'我的ID'')? –

+0

沒有,除非當然'alias_attribute'抱怨它需要一個符號......我不認爲這是相關的 – kares

+0

我試過':'我的ID'.class'並輸出'Symbol'。我學到了一些新東西。謝謝! –

相關問題