Rails枚举符号与字符串

时间:2017-04-12 02:34:03

标签: ruby-on-rails ruby ruby-on-rails-4 enums

我刚刚开始研究一个新的rails项目,我注意到前一个开发人员使用字符串而不是符号作为枚举的键。示例如下:

enum event_type: {
  'Tournament'    => 1,
  'Practice Game' => 2
}

我只是对使用字符串而不是符号的可能优点/缺点感到好奇。

1 个答案:

答案 0 :(得分:4)

没关系,因为Enum是数据库中的整数,

  

映射通过具有复数的类方法公开   属性名称,返回a中的映射   HashWithIndifferentAccess

所以无论你使用字符串还是符号都可以使用以下两种方法:

MyModel.event_types[:Tournament]
MyModel.event_types['Tournament']
相关问题