나는 하나의 테이블 상속을 통해 34 가지 유형의 사용자가있는 대규모 Rails 앱을 보유하고 있습니다. 앱이 처음 디자인되었을 때, 사용자는 유형에 따라 다른 행동을 취할 것으로 추정되었습니다. 이 가정은 틀렸으므로 리팩토링을 고려하고 있습니다.다른 유형의 사용자를 처리하는 가장 좋은 방법은 무엇입니까?
질문은 어떻게 사용자 STI를 리팩터링합니까?
- 사용자에 부울 속성 톤 (예.
User#is_employee?
,User.is_contractor?
) User#user_type
-User#type
이름을 바꾸고 바로 필드- 일부 끔찍한 조회 테이블 솔루션
- 뭔가 내가에 따라 문자열 매칭을 추가 '누락되었습니다 ...
사용자가 ACL을 이유로'유형 '이 필요하지만 STI를 사용하면 실제로는 그냥 빈 모델입니다. STI는 specing, 일반적인 엉덩이 통증 등의 문제를 일으 킵니다.
흥미롭고 간단한 ... –