2013-11-28 5 views
1

다음 코드는 작동하지만 우연히 발생한다고 걱정합니다.내 특정 코드에 충돌하는 기호 문제가 있습니까?

factory :admin:admin은 내 두 번째 설명문 (User::ROLES.index(:admin))의 :admin을 의미하지 않습니다.

factory :admin_user, parent: :user do 
... 
+2

': admin'은'11'과 비슷하지만, 그 자체는 아무것도 나타내지 않고 그 의미는 문맥에 따라 다릅니다. –

답변

1

귀하의 첫 번째 코드 : 나는 아직도 내가이 조정을해야하는 경우 안전을 궁금해하지만

테스트/공장/factories.rb 다시

factory :admin, parent: :user do 
    role_type User::ROLES.index(:admin) 
end 

, 그것은 작품 맞다. :admin은 루비 기호로 그 자체로는 아무 것도 가리 키지 않습니다. 댓글 작성자가 말한 것처럼, 숫자 3을 여러 곳에서 사용하는 것과 같습니다.

즉, 그 코드를 나중에 읽는 사람은 다른 의미로 두 줄의 코드에서 두번 씩 :admin을 보면 혼란 스러울 수 있습니다. 그래서 가독성을 높이기 위해 나는 변화를 만들 것이다.