Ember数据将模型中的primaryKey从id更改为其他内容

时间:2014-06-10 22:31:52

标签: javascript json ember.js ember-data

目前我有这样的模型设置

App.Specialty = DS.Model.extend({
    //specialty_id: attr(),
    name: attr()
});

它有一个名为specialty_id的json api返回的primaryKey,而不是id(ember数据可能预期的内容)。

所以不要弄乱任何ember数据得到两个对象,其中一个使用id作为任何参数,第二个得到正确的对象,但id为未定义。

如何让ember数据知道应该搜索specialty_id

1 个答案:

答案 0 :(得分:10)

对于整个应用

App.ApplicationSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id'
});

对于单一类型

App.FooSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id'
});

您仍然会在模型上将其称为id,但在转移过程中,Ember Data会将其序列化/反序列化为_id

示例:http://emberjs.jsbin.com/OxIDiVU/635/edit

在此处阅读更多相关信息:http://emberjs.com/api/data/classes/DS.RESTSerializer.html#property_primaryKey