Доступ к связанной коллекции в объекте ember-model через отношение hasMany
Я, возможно, принципиально не понимаю, как использовать отношения hasMany в Ember/ember-model.
в файле ember-model readme есть следующий пример
postJson = {
id: 99,
title: 'Post Title',
body: 'Post Body',
comments: [
{
id: 1,
body: 'comment body one',
},
{
id: 2,
body: 'comment body two'
}
]
};
App.Post = Ember.Model.extend({
id: Ember.attr(),
title: Ember.attr(),
body: Ember.attr(),
comments: Ember.hasMany('App.Comment', {key: 'comments', embedded: true})
});
App.Comment = Ember.Model.extend({
id: Ember.attr(),
body: Ember.attr()
});
предположительно, можно сделать следующее
post = App.Post.create();
post.load(1, postJson);
Учитывая вышесказанное, теперь у нас есть доступ к различным post
реквизит через get (т.е. post.get('title')
), но как мне получить доступ к комментариям?
post.get('comments')
возвращает объект, но это не коллекция объектов App.Comment, чего я и ожидал.
Заранее спасибо за любую помощь.
1 ответ
Решение
Он возвращает объект коллекции, который является итеративным, но не массив. Я работаю над примером с вашим кодом, я опубликую его на мгновение (я почти уверен, что load - это закрытый метод, и вы должны использовать load для определения модели, а затем найти).
App.Post.load(postJson); //sideloading
return App.Post.find(99);