2010-08-18 60 views
1

这可能有点奇怪,但是如何从模型中的对象获取列名?Rails,获得值的列名称

例如,我有一个恰好有50个州在其作为单独的列(我知道,我知道这可能是方式更有效)的表,所以它们看起来像:

al_allowed, ak_allowed, etc... 

这些列是布尔值,但我想知道在我的模型中如何获得列名?例如,如果对于特定的记录(在这种情况下为Campaigns),我想查看哪些状态被检查过,如果它们是True,我想将状态缩写(列名)推入数组中。

回答

5

通过调用column_names方法,可以从ActiveRecord模型中获得一个列名称数组。这是一个类方法,而不是一个实例方法,所以你会使用Campaign.column_names