如何将散列定义为枚举?

时间:2019-04-14 07:09:51

标签: ruby-on-rails ruby

我在我的rails项目中使用枚举如下:

class User < ActiveRecord::Base
  extend Enumerize

  enumerize :sex, in: {
    male: 0,
    female: 1,
    other: 2,
  }, predicates: { prefix: false }

...

end

现在,我想使用in:将散列传递给枚举,以便可以在视图文件上使用值和整数对。 (我知道我们应该将它们作为表存储在数据库中,而不是枚举。但是我们现在不能更改它)

我发现User.sex.values()返回的列表类似于["male", "female", "other]。但是我可以自己获取哈希吗?

1 个答案:

答案 0 :(得分:0)

如果您正在使用活动记录,则您应该using

您可以调用User.sexes来获取键值对。

我不确定您为什么要使用Enumerize。