Użyłem commit eaa1123 (ember) i 508479d (ember-data) do zbudowania plików JS.Nie można uzyskać wielu skojarzeń
Mam następujący JSON zwrócony z mojego Rails backend, który jest generowany z 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."
},
...
]
}
]
}
oraz następujące modele 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')
});
wszystkie wyglądają zupełnie normalnie :
post = App.Post.find(408);
post.get('title')
// => "Lorem Ipsum"
Jednak nie mogę przejść do komentarzy:
comments = post.get('comments')
comments.get('firstObject') instanceof App.Comment
// => true
comments.forEach(function(comment) {
console.log(comment.get('body'))
})
//=> undefined
Gdy używam:
comments.content
mam tablicę, która zawiera obiekty, więc:
comments.content[0]
//=> { body: "Quo incidunt eum dolorem.", id: 956 }
ale to nie jest to, czego się spodziewałem.
Wydaje się to tak oczywiste, więc muszę zrobić coś złego. Jako efekt uboczny: obecnie nie jestem w stanie renderować moich komentarzy w szablonie w łatwy sposób, więc mam nadzieję, że ktoś może mi pomóc w tym.
Z góry dziękuję.
Wielkie dzięki, to na pewno pomogło. Zgaduję, że gdzieś zagubiłem ślad zmian;) – bazzel