过去几天我一直在主键和最新版本的 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/