2017-04-12 200 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']