ember数据不保存来自服务器的返回数据的ID

时间:2014-11-01 13:59:12

标签: ember.js ember-data

我正在使用ember来做教程。

并尝试将其与rest适配器连接以进入后端。

完全去做应用程序工作,但当我尝试保存模型时,它确实发送到api端点, 它返回新保存模型的Id,但不反映在客户端。

如果我完全重新加载所有数据,它可以工作,但对于单个模型,返回的Id不会更新。

因为我的模型没有" id",它使用的是primaryKey:' Id',它适用于页面重新加载,但是 当保存后服务器响应时,返回的ID数据不会在客户端内更新。

如何更多地调试错误?

好的,我得到了部分解决方案。

我的服务器只返回数据

{
   "Id": 4767482418036736,
   "title": "asdfas"
  }

而不是

todo:{
   "Id": 4767482418036736,
   "title": "asdfas"
  }

但是因为我无法更改我的服务器,所以我会教ember来寻找没有大括号的待办事项?

2 个答案:

答案 0 :(得分:0)

您的JSON响应看起来没有正确格式化,请参阅https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/adapter/rest_adapter_test.js示例。)

鉴于您无法更改服务器,请查看序列化程序(http://emberjs.com/api/data/classes/DS.RESTSerializer.html

答案 1 :(得分:0)

我得到了答案,

我需要以这种方式覆盖ExtractSingle序列化程序功能。

extractSingle:(store, type, payload, id)->
    payload = { todo : payload }
    return this._super(store, type, payload, id);