2017-04-12 2 views
1

방금 ​​새로운 레일스 프로젝트를 시작했고, 이전 개발자가 심볼 대신에 문자열을 열거 형의 키로 사용했다는 것을 알게되었습니다.Rails enum symbol vs string

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']