Ember数据渲染有很多 [英] Ember data rendering hasMany

查看:122
本文介绍了Ember数据渲染有很多的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  App.Schedule = DS.Model.extend({
经理:DS.belongsTo('App.Manager',{embedded:true}),
条目:DS.hasMany('App.Reservation',{embedded:true})
});
App.Reservation = DS.Model.extend({
name:DS.attr('string')
});

和手镯视图:

  {{#控制器中的每个日程表}} 
< td>
{{#each reservation in schedule.entries)}}
< div> {{reservation.name}}< / div>
{{/ each}}
< / td>
{{/ each}}

但是, p>

 期望'ID','undefined'

此解决方法有效,但我知道这是错误的方式。

  {{each任何想法?

$ b $($) b

编辑



Mike Aski回答后。
我的JSON,从后端返回。

  {
schedule:[
{
id:476a3881-4fe8-42f5-8bdb-650d38f911e8,
条目:[
{
name:test1,
开始:2012-11-22T10:00:00 + 06:00,
结束:2012-11-22T11:00:00 + 06:00,
id :71c6da83-8ae2-4210-90f8-e65b06f819d7
},
{
name:test2,
begin:2012-11-22T12 :00:00 + 06:00,
end:2012-11-22T14:00:00 + 06:00,
id:d234c8c0-66f5-4e98-b921 -4472b39a98f7
}
]
},
{
id:8d9b1539-8a1f-4a5d-acfc-5918e61e3990,
:[]
},
{
id:a279d9a5-ea88-4012-8094-8a30125fd32b,
entries:[]
}
]
}


解决方案

您确定您在保留中有 id 属性 JSON对象?



即使嵌入了关系,您也应该拥有它们。


In my ember app I have a models:

App.Schedule = DS.Model.extend({
    manager:DS.belongsTo('App.Manager', { embedded: true }),
    entries:DS.hasMany('App.Reservation', { embedded: true })
});
App.Reservation = DS.Model.extend({
    name:DS.attr('string')
});

and a handelbars view:

{{#each schedule in controller}}
<td>
  {{#each reservation in schedule.entries)}}
  <div>{{reservation.name}}</div>
  {{/each}}
</td>
{{/each}}

But with this view a've got exception

Expecting 'ID', got 'undefined'

This workaround works, but I know this is wrong way.

{{#each reservation in schedule._data.hasMany.entries}}

Any ideas?

EDIT.

After Mike Aski answer. My JSON, returning from backend.

{
  "schedules": [
    {
      "id": "476a3881-4fe8-42f5-8bdb-650d38f911e8",          
      "entries": [
        {              
          "name": "test1",
          "begin": "2012-11-22T10:00:00+06:00",
          "end": "2012-11-22T11:00:00+06:00",
          "id": "71c6da83-8ae2-4210-90f8-e65b06f819d7"
        },
        {              
          "name": "test2",
          "begin": "2012-11-22T12:00:00+06:00",
          "end": "2012-11-22T14:00:00+06:00",
          "id": "d234c8c0-66f5-4e98-b921-4472b39a98f7"
        }
      ]
    },
    {
      "id": "8d9b1539-8a1f-4a5d-acfc-5918e61e3990",          
      "entries": []
    },
    {
      "id": "a279d9a5-ea88-4012-8094-8a30125fd32b",          
      "entries": []
    }
  ]
}

解决方案

Did you ensure you have an id property in the reservations JSON objects?

You should have them, even if relations are embedded.

这篇关于Ember数据渲染有很多的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆