【问题标题】:Why is my associations not getting binded?为什么我的关联没有绑定?
【发布时间】:2013-11-21 09:01:10
【问题描述】:

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

这会导致

如您所见,我只看到了Service Field,但不知道如何遍历关联的服务,请帮帮我。

【问题讨论】:

    标签: ember.js coffeescript ember-data


    【解决方案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/edit 示例

    【讨论】:

      猜你喜欢
      • 2018-04-14
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      相关资源
      最近更新 更多