0

我正在尝试使用 Ember-Data 和提供的 RESTAdapter 来加载这样的对象:

{
  "videos":[
   {
    "id":"5062f3c30959c6c732000005",
    "tags":[
          {"_id":"5062f3cb0959c6c732000006","name":"hello"},
          {"_id":"5062f3cb0959c6c732000007","name":" world"}
    ]
   }
  ]
}

在这里,我有一个包含许多标签的视频对象。该tags属性被声明为嵌入:

Video = DS.Model.extend {
 tags: DS.hasMany('Tag', {embedded: true})
}

Tag = DS.Model.extend {
 video: DS.belongsTo('Video')
}

当我尝试加载视频时

Video.find()

适配器总是尝试向我的服务器发送一个获取请求,/tags但由于我的服务器不直接提供对标签的访问权限,该请求自然会失败。相反,标签已经嵌入在 /videos.json 中。

那么embedded: truein ember-data association 是什么意思呢?

4

1 回答 1

3

我模糊地相信正在发生的事情是它不信任tags没有id参数的嵌入。尝试给Tag一个id: DS.attr('string', { key: '_id' }).

顺便说一句,embedded在您的示例中拼写错误 - 在您的应用程序中是否正确?

更新:也许更好的建议是设置primaryKey: '_id'inside Tag。(文档

于 2012-09-26T15:37:32.120 回答