0

我正在尝试使用 ember.js 和 ember-data 的最新主分支。

这里有一些细节:

window.Links = Ember.Application.create();

Links.Store = DS.Store.extend({
  revision: 11,
  adapter: 'DS.RESTAdapter'
});

Links.List = DS.Model.extend({
  urls: DS.hasMany('Links.Url', { embedded: true })
});

Links.Url = DS.Model.extend({
  url: DS.attr('string'),
  list: DS.belongsTo('Links.List')
});

当我在控制台中执行以下操作时:

var list = Links.List.find("test");

API 返回以下内容:

{"list":{"id":"test","urls":[{"id":"44e5aa","url":"http://google.com"}]}}

我可以:

list.get("id") // => "test"
list.urls // => undefined 

我似乎无法让这些协会发挥作用。难道我做错了什么?

4

1 回答 1

1

我想我们很多人都在同一条船上 - 这与我今天早些时候发布的问题我引用的问题非常相似。希望这意味着我们很快就会有一个修复或明确的答案!

按照 brg 的建议,您可能想尝试以下方法:

Links.Store.adapter.serializer.map('Links.List', {
   urls: {embedded: 'load'}
});

然后,您当然会删除您的内联嵌入式语句。它没有解决我的问题,但它可能在你的情况下。

请注意,这里记录的嵌入式 belongsTo 关联也存在问题。

于 2013-01-06T04:30:08.180 回答