EmberJS有很多关系和Fixtures

时间:2014-05-09 07:23:31

标签: ember.js ember-data

我正在学习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}选项,但问题仍然存在。

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

你的问题就在你的装置里。您为模型属性catalogCourses命名,但在灯具设置中使用catalog_courses。如果您在灯具设置中将catalog_courses更改为catalogCourses,则可以正常工作。

请注意,对于使用具有关系的灯具,您需要在模型中的关系定义中使用{ async: true }标记。

请参阅此jsbin,并附上一个工作示例:http://emberjs.jsbin.com/gedew/2/edit