Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬数据1.0关系_Ember.js_Ember Data - Fatal编程技术网

Ember.js 余烬数据1.0关系

Ember.js 余烬数据1.0关系,ember.js,ember-data,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'), st

我正在使用一个带有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) 如果我访问/#/客户,我应该发送哪些数据

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

谢谢你的帮助

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

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

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

1)+2):谢谢3):这是我正在查找的状态。我想知道是否可以使用状态控制器的模型,或者在客户控制器中设置一个新集合:setupController:function(controller,model){this.\u super(controller,model);this.controllerFor('state').set('content',this.store.find('state');},