给定模型:
Blog.Post = DS.Model.extend({
title: DS.attr('string'),
tags: DS.hasMany('Blog.Tag', { embedded: true })
});
Blog.Tag = DS.Model.extend({
foo: DS.attr('string'),
bar: DS.attr('string')
});
和实例:
var myPost = Blog.Post.createRecord({ id: 45, title: 'Foo Bar' })
当我这样做时myPost.store.commit()
(通过 ember-data 的 DS.RESTAdapter),我的服务器会返回一个自动生成的标签列表,这些标签应该应用于myPost
. 示例响应 json:
{
posts: [
{
id: 45,
title: 'Foo Bar',
tags: [
{ id: 1, foo: 'bar1' },
{ id: 2, foo: 'bar2' }
]
}
]
}
我希望这myPost
会以json返回的两个标签结束,但我得到了这个错误:
Error: <DS.StateManager:ember448> could not respond to event invokeLifecycleCallbacks in state rootState.loaded.updated.uncommitted.
我在这里做错了什么?
编辑:澄清 json 以包含每个@MikeAski 评论的 id。给出的示例是我实际案例的简化版本——实际案例确实包含标签 ID。