我陷入了不应该在 API 端点中返回 id
字段的情况。我需要告诉 ember 将 slug
字段用于/而不是 id
。
我尝试了 DS.RESTAdapter.map('App.Post', id: {key: 'slug'})
。虽然这对 App.Post.find("a-slug-name")
非常有效,但它对 App.Post.find()
造成了困惑,导致添加了一个每次调用新模型。并将 id
分配给 null。
那么我应该怎么做。
最佳答案
您需要在适配器中指定应该用作 primaryKey
的属性。如果您希望 slug
属性用作您的 Post
模型 id
,请像这样在您的 Adapter 上定义 primaryKey
:
DS.RESTAdapter.map('App.Post', {
primaryKey: 'slug'
});
更新
从 Ember-data 版本 1.0.0-beta.7 canary
开始,您需要执行此操作而不是上面的代码片段:
App.PostSerializer = DS.JSONSerializer.extend({
primaryKey: 'slug'
});
关于javascript - 告诉 ember.js 为其模型的 "id"使用不同的 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18031188/