我正在学习EmberJS并需要一些帮助。
我有两个模型:Catalog和CatalogCourses。目录中有许多目录。 我只是想用一些装置测试这种关系。
当我加载Catalog的记录时,不会加载关系夹具(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,handlebars v1.3.0和jQuery 1.11.0
我也尝试使用{async: true}
选项,但问题仍然存在。
有什么想法吗?
答案 0 :(得分:9)
你的问题就在你的装置里。您为模型属性catalogCourses
命名,但在灯具设置中使用catalog_courses
。如果您在灯具设置中将catalog_courses
更改为catalogCourses
,则可以正常工作。
请注意,对于使用具有关系的灯具,您需要在模型中的关系定义中使用{ async: true }
标记。
请参阅此jsbin,并附上一个工作示例:http://emberjs.jsbin.com/gedew/2/edit