0

余烬:1.1.2

灰烬数据: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>

这导致

结果

如您所见,我只看到服务字段,但不知道如何遍历相关服务,请帮帮我。

4

1 回答 1

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]}]}

http://emberjs.jsbin.com/eWesIQuV/1

http://emberjs.jsbin.com/eWesIQuV/1/编辑示例

于 2013-11-09T11:49:26.550 回答