2010-08-18 77 views
1

這可能有點奇怪,但是如何從模型中的對象獲取列名?Rails,獲得值的列名稱

例如,我有一個恰好有50個州在其作爲單獨的列(我知道,我知道這可能是方式更有效)的表,所以它們看起來像:

al_allowed, ak_allowed, etc... 

這些列是布爾值,但我想知道在我的模型中如何獲得列名?例如,如果對於特定的記錄(在這種情況下爲Campaigns),我想查看哪些狀態被檢查過,如果它們是True,我想將狀態縮寫(列名)推入數組中。

回答

5

通過調用column_names方法,可以從ActiveRecord模型中獲得一個列名稱數組。這是一個類方法,而不是一個實例方法,所以你會使用Campaign.column_names