2014-05-09 5 views
2

나는 EmberJS를 배우고 있으며 도움이 필요하다.EmberJS hasMany 관계 및 Fixtures

두 가지 모델이 있습니다. 카탈로그와 카탈로그 코스입니다. 카탈로그에는 많은 CatalogCourses가 있습니다. 나는이 관계를 일부 비품으로 시험하려하고있다.

카탈로그 레코드를로드 할 때 관계 설비 (CatalogCourses)가로드되지 않습니다. 저는 몇 시간 동안이 일에 매달 렸습니다.이 일은 간단해야한다고 생각합니다. 그래서 당신의 도움을 요청하고 있습니다. 비품

App.Catalog = DS.Model.extend({ 
    year: DS.attr('string'), 
    catalogCourses: DS.hasMany('catalog_course') 
}); 

App.CatalogCourse = DS.Model.extend({ 
    catalog: DS.belongsTo('catalog') 
}); 

그리고 여기에 있습니다 : : 여기

App.Catalog.FIXTURES = [ 
    { 
    id: 1, 
    year: '2014', 
    catalog_courses: [ 1 ] 
    } 
]; 

App.CatalogCourse.FIXTURES = [ 
    { 
    id: 1, 
    catalog: 1 
    } 
]; 

그리고 단순히 관계를 나열하는 시도 나의 바이올린입니다 : http://jsfiddle.net/6Evrq/75/

내가 여기

는 모델입니다 ember v1.5.0, ember-data v1.0.0-beta.7, 핸들 바 v1.3.0 및 jQuery 1.11.0 사용

{async: true} 옵션을 사용해 보았지만 문제가 지속됩니다.

의견이 있으십니까?

+0

명명 convetion 게다가 (허용 대답을 참조), 나는 또한 커피 스크립트 몇 가지 문제가 있고 있었다 : 내 catalog.coffee 파일의 마지막 줄은 컴파일되지 않는 한 그러므로 전혀 관계가 없었습니다! – oesgalha

답변

9

당신의 문제는 당신의 비품에 있습니다. 모델 속성 이름을 catalogCourses으로 지정하고 조명기 설정에서 catalog_courses을 사용합니다. 조명기 설정에서 catalog_coursescatalogCourses으로 변경하면 작동합니다.

관계가있는 조명기를 사용하려면 모델의 관계 정의에 { async: true } 플래그를 사용해야합니다.

작업 예제이 jsbin 참조 : http://emberjs.jsbin.com/gedew/2/edit

관련 문제