2013-10-22 6 views
2

제 신청서에는 Userauthor 관계가있는 Comment 모델이 있습니다.모델의 서브 클래스 만들기

Java 용어로 말하면이 모델 User은 추상 클래스입니다. 모델 인스턴스는 Student 또는 Teacher 유형입니다. 이를 위해 User 모델의 속성은 type입니다. 다음과 같이 그래서 구조는 다음과 같습니다

App.Comment = DS.Model.extend({ 
    author: DS.belongsTo('user'), 
    ... 
}); 

App.User = DS.Model.extend({ 
    type: DS.attr('string'), 
    ... 
}); 

App.Student = App.User.extend({ 
    ... 
}); 

App.Teacher = App.User.extend({ 
    ... 
}); 

지내는 API를 통해 내가의 Comment '에 해당 author 포함의'의 목록이 표시됩니다.

기본적으로 각 작성자에 대해 Ember는 User 모델의 인스턴스를 만듭니다.

그러나 대신 요청 응답의 type 속성에 따라 Student 또는 Teacher 중 하나를 생성하고 싶습니다.

은 무엇이를 달성하는 가장 좋은 방법이 있을까요? 어딘가에 JSON 키를 Ember 모델에 매핑하는 함수를 재정의 할 수 있어야합니다.

답변

1

알았어. Ember가 다형성 모델을 지원한다는 것을 알게되었으므로 을 author 관계에 추가하여 쉽게 해결했습니다.

App.Comment = DS.Model.extend({ 
    author: DS.belongsTo('user', { polymorphic: true }), 
    ... 
}); 
0

App.Comment의 serializer를 재정의하려고합니다. 몇 가지 예제 문서 here을 찾을 수 있습니다.