2017-04-12 128 views
1

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

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

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

+1

正如@AndreyDeineko在他的回答中指出,在这种情况下无关紧要。也许你想阅读[这个问题](http://stackoverflow.com/questions/16621073/when-to-use-symbols-instead-of-strings-in-ruby)以更好地理解字符串和符号。 –

回答

2

不要紧,因为Enum是在数据库中的一个整数,并且

的映射是通过一类方法与使用复数 属性名,其在 HashWithIndifferentAccess

返回映射暴露

所以无论你使用的字符串或符号两个以下将工作:

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