2012-12-05 2 views
4

Backbone (ORM의 경우 Backbone Relational)에서 Ember로 프로젝트를 변환 할 때 문서에서 DS 사용 방법의 예를 찾을 수 없습니다. .belongsTo 동일한 유형의 객체를 참조합니다.같은 개체의 다른 인스턴스와 관계가있는 개체에 대한 Ember-Data 관계

다른 말로하면, 다음 모델 정의 (명확성을 위해 일반적인 의사 코드)가 있습니다.

BoxModel 
    Text = String 
    BoxParent = BoxModel (referenced by id) 

내가 클라이언트 측 조작 등 엠버에서 다시 작성이 구조에 원하는 나 또한 그렇게 DS.belongsTo에 대한 내 모든 개체의 목표는 정의 문에 포함되어야한다 requirejs을 사용하고

익명 함수의 매개 변수로 사용할 수있게되었습니다. 이와 같이

, 나는이 같은 것을 사용할 수 있습니다 의심 :

define ([ 'textbox' ]), function(TextBox) { 
    return DS.Model.extend({ 
    BoxParent: DS.belongsTo(TextBox) 
    }); 
}); 

현재 클래스 정의에 대한 참조가 작동 할 가능성이 없습니다. 장고에서는 이러한 유형의 관계가 "self"라는 특수한 타겟으로 처리되지만 Ember에서 이에 상응하는 솔루션을 찾을 수 없습니다. 어떤 도움이라도 대단히 감사 할 것입니다. 모든 텍스트 상자 당신이 무한 순환 참조를하지 않는 한이 관계의 유형 불가피 (부모가해야하기 때문에 최종 참고로

,이 관계는 널 (null)이 될 수 있습니다.

감사합니다!

+2

을 안녕하세요 내 질문에 대한 답변으로는 매우 유용하고 간결 발견 여기이 드롭 싶어 모두. 내가하지 않은 아직 구현 중이다. 이 프로젝트가 작동하는지 확인하기 위해 프로젝트에서 작성한 내용이므로, 사람들이 토론에 추가하고 싶을 경우를 대비하여 즉각적인 응답으로 답하지 않은 채로 두겠습니다. http://stackoverflow.com/questions/13727512/self-join-with-ember-data – stevekane

답변

0
스티브

당신은 당신의 모델명은 약이 아닌 초기화 모델 이름을 사용하는 인용 포장해야합니다.

App.Box = DS.Model.extend([ 
    parent: DS.belongsTo('App.Box') 
});