【问题标题】:ember-data 1.0 relationshipsember-data 1.0 关系
【发布时间】:2013-09-08 16:50:09
【问题描述】:

我正在使用带有 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) 如果我要编辑客户。我会设置它以便查找/组合向服务器发出单独的请求吗?

感谢您的帮助!

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

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

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

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

    【讨论】:

    • 1) + 2) : 谢谢 3) : 这是我正在查找的状态。我想知道是否可以将模型用于状态控制器,或者在客户控制器中设置一个新集合: setupController: function(controller, model) { this._super(controller, model); this.controllerFor('state').set('content', this.store.find('state')); },
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 2015-08-15
    • 2013-10-12
    • 1970-01-01
    • 2013-03-15
    • 2016-07-24
    • 1970-01-01
    相关资源
    最近更新 更多