【问题标题】:Rails enum symbol vs string [closed]Rails枚举符号与字符串[关闭]
【发布时间】:2017-09-07 15:03:08
【问题描述】:

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

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

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

【问题讨论】:

  • 正如@AndreyDeineko 在他的回答中指出的那样,在这种情况下并不重要。也许您想阅读this question 以更好地理解字符串和符号。

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


【解决方案1】:

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

映射是通过一个带有复数形式的类方法暴露出来的 属性名称,它返回一个映射 HashWithIndifferentAccess

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

MyModel.event_types[:Tournament]
MyModel.event_types['Tournament']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多