Post と Tag など、2 つのエンティティ間の多対多の関係を可能にする Ember.js アプリを構築しています。
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 に POST されますが、シリアル化にはそれらの間の関係は含まれません。たとえば、投稿のシリアル化は次のようになります。
title=Example&body=Lorem+ipsum...
関連付けられているタグも含まれていると思います。
どこが間違っていますか?