ember-data 1.0关系

时间:2013-09-08 16:50:09

标签: ember.js ember-data

我正在使用带有ember-data 1.0和ember.js 1.0

的rest适配器

鉴于这些模型:

App.Customer  = DS.Model.extend({
    name: DS.attr('string'),
    state: DS.belongsTo("State")
});


App.State  = DS.Model.extend({
   region: DS.attr('string'),
   state: DS.attr('string'),
   stateName: DS.attr('string'),
   customers: DS.hasMany("Customer")
});

当我进入/#/ states时,我得到了这个json响应

{
  "states": [
 {
  "region": "West",
  "state": "AZ",
  "stateName": "Arizona",
  "id": "0x0000000000000324",
  "customers": [
    "0x00000000000001e5"
  ]
},
{
  "region": "West",
  "state": "CA",
  "stateName": "California",
  "id": "0x0000000000000325",
  "customers": [
    "0x00000000000001c0",
    "0x00000000000001c4",
    "0x00000000000001d4"
  ]
 }
]

"customers" : [
 {
 }
 ]
}

现在,我有几个问题

1)我应该在客户部分放什么?所有客户的完整列表,或仅是州名单中指定的客户列表?

2)如果我访问/#/ customers,我应该发回哪些数据?

3)如果我要编辑客户。我会设置它,以便lookup / combo向服务器发出单独的请求吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

1)在原始JSON中,customers数组应该只包含状态列表中的客户。

2)这取决于您的应用。通常,您希望/customers返回所有客户。或者也许是一个分页的客户集合。或者可能只允许当前登录用户看到的客户。等...

3)当您编辑客户时,Ember应该已经加载了客户数据,因此不需要额外的查找请求。