枚举枚举

时间:2015-05-19 10:40:19

标签: ruby-on-rails ruby

我有一个枚举:

class Model1 < ActiveRecord::Base
  enum enum1: [:var1, :var2, :var3]
end

如何枚举enum1以获取enum1 [var1, var2, var3]的所有值?

2 个答案:

答案 0 :(得分:4)

最简单的选择是不对枚举做任何事情,而是将静态数组提取到常量

class Model1 < ActiveRecord::Base
  ENUM_OPTIONS = [:var1, :var2, :var3]

  enum enum1: ENUM_OPTIONS
end

然后你就可以Model1::ENUM_OPTIONS

答案 1 :(得分:1)

替代塞尔吉奥的答案:

 Model1.defined_enums['enum1'].keys