Ember:1.1.2
Ember数据:1.0.0-beta.3
把手:1.0.0
嗨,伙计们,
使用EmberData 1.0.0-beta.3升级我的应用程序后,我正在努力以我想要的方式遍历我的数据。
在我的应用程序中,您正在创建工作,您必须选择一个服务领域。
MyApp.ServiceField = DS.Model.extend
name: DS.attr('string')
description: DS.attr('string')
services: DS.hasMany('service')
此外,您在该字段中选择一项服务。
MyApp.Service = DS.Model.extend
name: DS.attr('string')
description: DS.attr('string')
service_field: DS.belongsTo('serviceField')
现在,当用户访问新路径时,将从服务器获取这些服务。
MyApp.Router.map ()->
@route 'home.index', { path: '/' }
@resource 'jobs', ->
@route 'new'
MyApp.JobsNewRoute = Ember.Route.extend
setupController: (controller) ->
controller.set 'model', @store.createRecord('job')
controller.set 'serviceFields', @store.find('service_field')
现在服务器返回以下JSON
{"services":[
{"id":1,"name":"NLP Coaching","description":"NLP coaching er noget med NLP"},
{"id":2,"name":"Familie rådgiver","description":"Har i problemer i familien? Få dem løst med en Familie rådgiver"}],
"service_fields": [
{"id":1,"name":"Coaching","description":"Her står en masse godt om coaching faget","service_ids":[1,2]}]}
这似乎工作正常,因为我在检查员中可以看到实际创建模型
现在我想在我的模板中遍历这个,我按照以下方式执行此操作
<p>Creating a new job</p>
<div class="ui input">
<p>Select a service field</p>
{{#each serviceFields }}
<a class="ui label blue">{{name}}</a>
<br><br>
{{#each services}}
<a class="ui label blue">{{name}}</a>
{{/each}}
{{/each}}
</div>
这导致
如您所见,我只看到服务字段,但无法弄清楚如何遍历相关服务,请帮帮我。
答案 0 :(得分:1)
ember-data期望json中的其他键为hasMany关联:“services”而不是“service_ids”。
你的json:
{"id":1,"name":"Coaching","description":"description","service_ids":[1,2]}]}
预期:
{"id":1,"name":"Coaching","description":"description","services":[1,2]}]}