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

use*_*811 5 javascript json ember.js ember-data

目前我有这样的模型设置

App.Specialty = DS.Model.extend({
    //specialty_id: attr(),
    name: attr()
});
Run Code Online (Sandbox Code Playgroud)

它有一个从json api返回的primaryKey,specialty_id而不是id(ember数据可能预期的).

因此,不要弄乱任何ember数据获取两个对象,其中一个使用id作为任何参数,第二个它获取正确的对象但id为undefined.

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

Kin*_*n2k 10

对于整个应用程序

App.ApplicationSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id'
});
Run Code Online (Sandbox Code Playgroud)

对于单一类型

App.FooSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id'
});
Run Code Online (Sandbox Code Playgroud)

您仍将id在模型上引用它,但Ember Data会_id在传输过程中将其序列化/反序列化.

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

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