2010-06-21 3 views
1

관련 레코드가 모든 유형이 될 수있는 Any 관계를 만드는 것이 가능하다는 것을 알고 있습니다.캐슬 ActiveRecord를 사용하여 모든 유형의 테이블 레코드를 매핑하는 방법

관계가없는 경우에도 ActiveRecord에 테이블의 레코드가 여러 가지 유형에 속한다고 말할 수있는 방법이 있습니까? 예를 들어, 테이블에 각 레코드의 유형을 저장하는 문자열 필드가있는 테이블이 있습니다. ActiveRecord에서 각 레코드의 형식을 인식하고 그 테이블을 쿼리 할 때 올바른 형식을 인스턴스화하고 싶습니다.

가능하다면 누구나 말할 수 있습니까?

답변

1

세 가지 방법이 있습니다. 각 방법은 다음 세 가지 상황에 맞게 설계되었습니다.

Single Table Inheritance은 각 행에 포함 된 유형을 판별하기 위해 판별 자 열이있는 단일 테이블을 사용합니다.

Class Table Inheritance "기본"테이블이 기본 키를 정의하고 다른 클래스가 "상속"하는 각 클래스에 대해 서로 다른 테이블을 사용하는 작업이 포함됩니다.

Concrete Table Inheritance은 클래스 계층 구조를 매핑하는 세 번째 방법이며 각 구체적인 클래스는 고유 한 데이터베이스 테이블을 가지고 있습니다. 워드 프로세서에서 복사

http://www.castleproject.org/activerecord/documentation/v1rc1/usersguide/typehierarchy.html

+0

: http://www.castleproject.org/activerecord/documentation/trunk/usersguide/typehierarchy.html –

관련 문제