Rails,获取值的列名

JP *_*shy 1 ruby-on-rails

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

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

al_allowed, ak_allowed, etc...
Run Code Online (Sandbox Code Playgroud)

这些列是布尔值,但我想在我的模型中知道如何获取列名?,例如,如果对于特定记录(在本例中为Campaigns),我想查看哪些状态已被检查,以及它们是否为True ,我想把州名缩写(列名)推入一个数组.

Dan*_*uis 5

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