ember.js - 将主键与 Ember 数据结合使用

标签 ember.js ember-data

过去几天我一直在主键和最新版本的 Ember Data 上苦苦挣扎

我首先在 Breaking Changes file on GitHub 上阅读了如何操作。 ,但它显然已经过时了。我试过several other ways (在 IRC 上 Peter Wagenet 的帮助下),但它们似乎都不起作用。

我想将 slug 作为我模型上的主键,而且由于我正在使用 MongoDB,我想使用 _id 而不是 id.

有人知道如何做到这一点吗?我的根本问题是,当我在模型上执行多次 App.MyModel.find() 时,模型记录会加载两次。

最佳答案

从 Ember Data 1.0 beta 开始,您可以在相应的序列化器上定义 primaryKey

对于整个应用

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

关于ember.js - 将主键与 Ember 数据结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821980/

相关文章:

javascript - 如何在 Ember js 中获取 currentRouteName 的动态部分

ember.js - 使用 Ember 数据查找单例

javascript - 如何在 Ember.js 中查找多种记录类型的所有条目?

javascript - 我们如何使用 ember-cli 对模型混合进行单元测试

ember.js - 如何在 Ember.js 3.18 中获取我的应用程序的所有路由列表?

javascript - Ember.js + Ember 数据 + PostgreSQL

unit-testing - Ember 路线单元测试中未知的 `service:session` 注入(inject)器

javascript - Ember.JS:Ember 对象及其导出到的位置

ember.js - 在 Ember 应用程序中找不到 DS.Store 实例化

javascript - Ember.js RESTAdapter : Access JSON params when setting headers