我应该如何将哈希定义为枚举?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我应该如何将哈希定义为枚举?相关的知识,希望对你有一定的参考价值。

我在我的rails项目中使用enumerize,如下所示:

class User < ActiveRecord::Base
  extend Enumerize

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

...

end

现在我想用in:将哈希传递给enumerize,这样我就可以在视图文件中使用值和int的对。 (我知道我们应该将它们存储为DB中的表,而不是枚举。但我们现在无法更改它)

我发现User.sex.values()返回像["male", "female", "other]这样的列表。但我可以获得哈希本身吗?

答案

如果您使用的是活动记录,则应该是using

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

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

以上是关于我应该如何将哈希定义为枚举?的主要内容,如果未能解决你的问题,请参考以下文章

如何将哈希表添加到多维数组?无法通过成员枚举赋值

如何从 URL 获取片段标识符(哈希 # 后的值)?

如何定义和添加枚举作为类型

自定义对话框片段

如何根据枚举哈希对数组进行排序并返回 Ruby 中的最大值?

如何在 Java 中计算枚举的哈希码,以及将枚举 hashCodes 组合为 HashMap 的键