Tôi đã sử dụng cam kết eaa1123 (ember) và 508479d (dữ liệu ember) để xây dựng các tệp JS.Không thể kết hợp hasMany
Tôi đã JSON sau trở về từ backend Rails của tôi, mà được tạo ra với 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."
},
...
]
}
]
}
và các mô hình Ember sau:
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')
});
Tất cả trông hoàn toàn bình thường :
post = App.Post.find(408);
post.get('title')
// => "Lorem Ipsum"
Tuy nhiên, tôi dường như không thể nhận được nhận xét:
comments = post.get('comments')
comments.get('firstObject') instanceof App.Comment
// => true
comments.forEach(function(comment) {
console.log(comment.get('body'))
})
//=> undefined
Khi tôi sử dụng:
comments.content
tôi nhận được một mảng chứa các đối tượng, như vậy:
comments.content[0]
//=> { body: "Quo incidunt eum dolorem.", id: 956 }
nhưng đây không phải là những gì tôi mong đợi.
Có vẻ như rất hiển nhiên, vì vậy tôi phải làm điều gì đó sai. Là một tác dụng phụ: hiện tại tôi không thể hiển thị nhận xét của mình trong một mẫu một cách dễ dàng, vì vậy tôi hy vọng ai đó có thể giúp tôi về vấn đề này.
Xin cảm ơn trước.
Cảm ơn rất nhiều, điều đó chắc chắn đã giúp ích. Đoán tôi đã mất dấu những thay đổi ở đâu đó;) – bazzel