프로필이 서로 다른 두 가지 사용자 카테고리가 있습니다. 하나는 음악가 용이고 다른 하나는 수신기 용입니다. 각각의 프로필에는 겹치는 속성과 속성이 있습니다. 서로 다른 프로필에 대해 별도의 모델을 사용해야합니까? 아니면 사용자 테이블에 사용자가 아티스트인지 아닌지에 대한 이진 데이터 열이 있어야합니까? 어떻게 구성 될까요?두 가지 프로필 유형
3
A
답변
3
Single Table Inheritance
을 사용할 수 있습니다. Single Table Inheritance
은 모델의 하위 클래스를 만들어서 사용할 수 있습니다. Artist
또는 Listener
AN,이 거
class Profile < ActiveRecord::Base
# Common profile attributes
end
class Artist < Profile
# Things specific to an artist profile
end
class Listener < Profile
# Things specific to a listener profile
end
만들 때 : 서브 클래스, 모델을 이제
$ rails g model Profile type:string
, profile.rb
에서 :
는 type:string
열이있는 Profile
모델 (The name can be overriden)를 생성 프로파일의 유형과 함께 profiles
테이블에 저장하십시오.
예를 들어 Artist.create
을 입력하면 이라는 profiles
테이블에 저장됩니다.
레코드를 가져 오면 적절한 모델로 반환됩니다 (Artist
, Listener
또는 일반 Profile
).
이 기술에 대한 자세한 내용은 this question을 참조하십시오.
This blog post 좋은 일을 잘 설명합니다.
0
하나 개의 기본은 (예술 또는 수신기) 형식을 저장할 필드를 사용하여, 공통의 속성과 다른 두 사람 각각
의 특정 속성을 가진 그리고 프로필에 (예술, 리스너) 모델을 포함하는 프로파일이라고
그냥 내 의견입니다.
관련 문제
- 1. 속성에 대해 가능한 두 가지 유형
- 2. .Net 웹 서비스 사용 : 두 가지 다른 서비스에서 동일한 유형
- 3. 두 가지 차원
- 4. 다음 두 가지 시나리오에
- 5. 레일 - 두 가지 형태
- 6. 나는 두 가지 모델이있어
- 7. 두 가지 형태의 CheckBox
- 8. 두 가지 방법이 동일합니까?
- 9. numpy의 두 가지 버전
- 10. 방법 두 가지 형태
- 11. 워드 프레스 두 가지 조건
- 12. 두 가지 컬렉션 목록 비교
- 13. 두 가지 방법을 병렬로 실행
- 14. 나는 두 가지 요소가 ID
- 15. 나는 두 가지 기능이를 IEnumerable
- 16. 스크럼에 관한 두 가지 질문
- 17. 두 가지 기능을 추가 하시겠습니까?
- 18. 출시 두 가지 작업 ASP.NET
- 19. 두 가지 방법으로 StreamReader를 참조하십시오.
- 20. JavaScript 객체, 두 가지 질문
- 21. 두 가지 활동을 연결하는 방법
- 22. 두 가지 요소 인증 메커니즘
- 23. 멋진 템플릿의 두 가지 양식
- 24. 두 가지 버전의 Ant 빌드
- 25. mysql 질의, 두 가지 선택
- 26. 그는 두 가지 기능을 게시
- 27. 내가 두 가지 모델이 레일
- 28. Android - 두 가지 문제가 있습니다.
- 29. 안드로이드에서 두 가지 활동 연결하기
- 30. 사진 테이블에 대한 두 가지 질문 - FK 및 프로필 사진 Q
아티스트 및 수신기 클래스가 모두 프로필 모델에 포함됩니까? Single Table Inheritance에 대해 깊이있는 소스를 가르쳐 주시겠습니까? –
도 콘솔에서 어떻게 생성합니까? –
@Justin, 업데이트 된 답변. 이 기술에 대한 문서가 거의없는 것은 실망 스럽습니다. –