commit eaa1123(ember)と508479d(ember-data)を使用してJSファイルをビルドしました。
Railsバックエンドから次のJSONが返されます。これは、active_model_serializers(0.6.0)で生成されます。
{
"posts": [
{
"id": 408,
"title": "Lorem Ipsum",
"body": "In at quo tempora provident nemo.",
"comments": [
{
"id": 956,
"body": "Quo incidunt eum dolorem."
},
...
]
}
]
}
および次のEmberモデル:
App.Post = DS.Model.extend({
title: DS.attr('string'),
body: DS.attr('string'),
comments: DS.hasMany('App.Comment', {
embedded: true
})
});
App.Comment = DS.Model.extend({
body: DS.attr('string'),
post: DS.belongsTo('App.Post')
});
すべてが完全に正常に見えます:
post = App.Post.find(408);
post.get('title')
// => "Lorem Ipsum"
しかし、私はコメントに到達できないようです:
comments = post.get('comments')
comments.get('firstObject') instanceof App.Comment
// => true
comments.forEach(function(comment) {
console.log(comment.get('body'))
})
//=> undefined
私が使用するとき:
comments.content
オブジェクトを含む配列を取得するので、次のようになります。
comments.content[0]
//=> { body: "Quo incidunt eum dolorem.", id: 956 }
しかし、これは私が期待したものではありません。
当たり前のようですので、何かおかしなことをしているに違いありません。副作用として:現在、テンプレートにコメントを簡単に表示することができないので、誰かがこれについて私を助けてくれることを願っています。
前もって感謝します。