2014-02-26 4 views
3

이 문서는 문서에서 다루지 않기 때문에 약간 까다 롭습니다.Ember.js에서 다형성 관계로 작업하기

dog
App.Dog = DS.Model.extend(); 
App.Cat = DS.Model.extend(); 

App.Food = DS.Model.extend(); 
App.Toy = DS.Model.extend(); 

cat 많은 food 많은 toys 있습니다

나는 4 개 가지 모델이있다. 반면에 foodtoy의 단일 인스턴스는 dog 또는 cat (동물 측면에서는 hasMany -ish 관계이고 항목 측면에서는 belongsTo -ish)에만 속할 수 있습니다.

다형성 관계를 사용하여 Ember에서이 작업을 수행하는 방법에 대한 힌트가 있습니까? 아니면 다형성 관계 이외의 다른 것을 달성하기위한 더 나은 접근법이 있을까요?

또한 어떤 코드 나는 dog 또는 cat에 속하는 새로운 food 또는 toy 레코드를 생성하는 내 컨트롤러에서 구현해야합니까?

감사합니다.

답변

1

this slideshow을 바탕으로, 뭔가 같은 :

App.Animal = DS.Model.extend({ 
    food: DS.hasMany('App.Food', { polymorphic: true }), 
    toys: DS.hasMany('App.Toy', { polymorphic: true }) 
}); 
App.Dog = App.Animal.extend(/* .... */); 
App.Cat = App.Animal.extend(/* .... */); 

App.Food = DS.Model.extend({ 
    owner: DS.belongsTo('App.Animal', { polymorphic: true }) 
}); 
App.Toy = DS.Model.extend({ 
    owner: DS.belongsTo('App.Animal', { polymorphic: true }) 
});