- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的模型定义如下:
App.Question = DS.Model.extend({
title: DS.attr( 'string' ),
answers: DS.hasMany('App.Answer')
});
App.Answer = DS.Model.extend({
title: DS.attr( 'string' ),
wynikid: DS.attr( 'number' )
});
并从返回如下数据的 RESTAdapter 获取数据:
{
"questions": [
{
"id": 77,
"title": "O której wstajesz?",
"answers": [
{
"id": 159,
"title": "O godzinie 6",
"wynikid": 57
},
{
"id": 160,
"title": "O godzinie 7",
"wynikid": 56
},
{
"id": 161,
"title": "O godzinie 12",
"wynikid": 55
}
]
},
{
"id": 76,
"title": "Kot czy kominiarz?",
"answers": [
{
"id": 156,
"title": "Kocur",
"wynikid": 57
},
{
"id": 157,
"title": "Kominiarz",
"wynikid": 56
},
{
"id": 158,
"title": "Ani to ani to",
"wynikid": 55
}
]
},
{
"id": 75,
"title": "Wybierz ulubione imię",
"answers": [
{
"id": 153,
"title": "Bożydar",
"wynikid": 57
},
{
"id": 154,
"title": "Aleksander",
"wynikid": 56
},
{
"id": 155,
"title": "Andrzej",
"wynikid": 55
}
]
},
{
"id": 74,
"title": "Wybierz liczbę",
"answers": [
{
"id": 152,
"title": "Liczba 13",
"wynikid": 56
},
{
"id": 151,
"title": "Liczba 7",
"wynikid": 55
},
{
"id": 150,
"title": "Liczba 1",
"wynikid": 57
}
]
},
{
"id": 78,
"title": "Ulubiona pora roku",
"answers": [
{
"id": 162,
"title": "To lato",
"wynikid": 57
},
{
"id": 163,
"title": "Jesień / Wiosna",
"wynikid": 56
},
{
"id": 164,
"title": "To zima",
"wynikid": 55
}
]
}
]
}
现在我想要完成的是显示这样的列表:
O której wstajesz?
O godzinie 6
O godzinie 7
...
Kot czy kominiarz?
...
我尝试在 Ember.js 模板中使用它:
{{#each controller}}
{{title}}<br>
{{#each answer in answers}}
\t{{title}}<br>
{{/each}}
{{/each}}
显示问题但不显示答案。我在控制台中没有任何错误,JSONLint 也没有看到 JSON 的任何问题。
如何让它发挥作用?
我使用:
Handlebars 1.0.0.0.jsember-1.0.0.0.min.jsember数据:v0.13-238-gbf84978
最佳答案
最新版本的ember/ember-data不支持嵌入记录。这已记录在案here ,但我发现解决方法非常笨拙,我自己无法让它发挥作用。
也许最好的解决方案是侧载您的答案记录,以便它与 JSON 根中的问题记录一起显示。当然,这是假设您可以控制 JSON 格式,因此如果情况并非如此,则此答案不适用。如果您使用的是 active-model-serializers,则可以通过选项 embed: :id
和 include: true
来完成。您将拥有一个 question_serializer.rb
,其中包含类似
class QuestionSerializer < ActiveModel::Serializer
attributes :id, :title
has_many :answers, embed: :id, include: true
end
还有一个answer_serializer.rb
,其中包含类似
class AnswerSerializer < ActiveModel::Serializer
attributes :id, :title, :wynikid
end
我相信它应该可以工作。昨天我遇到了这个问题,并在上面发布了一个 stackoverflow 问题 here ,但我今天早些时候发现了我的问题并回答了我自己的问题。我能够以与您尝试处理 Handlebars 代码基本相同的方式获得 JSON 的打印输出!
编辑:语法。
关于javascript - 如何在 Ember.js 模板中显示 hasMany 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19576067/
我是一名优秀的程序员,十分优秀!