使用Subdocument作为ember模型

时间:2016-03-16 19:57:43

标签: javascript ember.js

我正在尝试在mongoDB文档及其子文档之间建立一对多的关系。到目前为止,我给我的模型:

用户/ model.js:

export default DS.Model.extend({
  name: DS.attr('string'),
  age: DS.attr('number'),
  calendarEntries: DS.hasMany('calendarEntries', {embedded: true}) 
                                          //also tried embedded: 'always'
});

日历条目/ model.js

export default DS.Model.Extend({
  title: DS.attr('string'),
  date: DR.attr('string'),
  user: belongsTo('user')  //Also tried without this
});

我从api得到的是:

"user": {
  "_id": "56e3510e8a87920cc961faf5",
  "name": "John Doe",
  "age": 25,
  "calendarEntries": [
    {
      "_id": "56e3511f8a87920cc961faf6",
      "title": "Meet friends",
      "date": "2016-03-13T00:54:13.442Z"
    }
  ]
}

我还使用序列化程序将primaryKey设置为'_id'。 api具有端点/用户,/ users /:userid,/ users /:userid / calendarEntries和/ users /:userid / calendarEntries /:entryid。在其他帖子中,我读到这是有效的,我不会弄错。错误消息并没有真正告诉我任何事情: “将类传递给存储方法已被删除。请传递一个dasherized字符串而不是undefined”。由于我读过的其他帖子大约有两年了,我不知道ember-data有什么变化。

1 个答案:

答案 0 :(得分:0)

我怀疑ember数据无法推断calendarEntries属性和日历条目模型之间的关系,因为复数是不规则的。您可以使用变形器来定义“'条目”的复数形式。作为'条目'

http://emberjs.com/api/data/classes/Ember.Inflector.html