我正在构建一个 Ember.js 应用程序,它允许 2 个实体之间的多对多关系,例如 Post 和 Tag:
App.Post = DS.Model.extend({
title: DS.attr("string"),
body: DS.attr("string"),
tags: DS.hasMany("App.Tag")
});
App.Tag = DS.Model.extend({
name: DS.attr("string"),
posts: DS.hasMany("App.Post")
});
在持久化新记录时,我很难让 Ember 序列化多对多关系。这就是我目前的做法:
// Create the post
post = store.createRecord(App.Post, {title: "Example", body: "Lorem ipsum..."});
// Create the tag
tag = store.createRecord(App.Tag, {name: "my-tag"});
// Add the tag to the post
post.get("tags").addObject(tag);
// Add the post to the tag
tag.get("posts").addObject(post);
// Save
store.commit();
新记录显示在 DOM 中,并发布到我的 API,但是序列化不包括它们之间的关系。例如,帖子的序列化如下所示:
title=Example&body=Lorem+ipsum...
我希望它还包括与之关联的标签。
我哪里错了?