1

所以,我一直在尝试找出如何在 ember 的不同模型上设置不同的主键,并且我看到人们使用App.Adapter.map它来实现这一点。

但是无论我尝试什么,似乎 ember 中的任何内容都没有地图功能,这是我尝试过的。

App.Adapter = DS.Adapter.extend();     // .map === undefined
App.Adapter = DS.RESTAdapter.extend(); // .map === undefined

我尝试的远不止这些,但一切似乎都如此undefined

我也做过类似的事情

App.Store = DS.Store.extend({
    adapter: App.Adapter.create()
}); 

不会改变任何东西。

有谁知道为什么会这样,我一直在硬编码,primaryKey现在我需要将其更改为单个模型。

当前硬编码

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

目标:

App.Adapter.map('App.Person', {
  primaryKey: 'username'
});

这是可以看到地图的地方 http://ember-website.thomasboyt.com/api/data/modules/data-serializer.html -第 4 个代码块向下 https://stackoverflow.com/a/15480105/1907358

有谁知道为什么会这样?

4

1 回答 1

1

您可以像这样为每个模型指定自定义序列化程序:

App.PersonSerializer = DS.RESTSerializer.extend({ primaryKey: 'username' });
App.PostSerializer = DS.RESTSerializer.extend({ primaryKey: 'foo' });
于 2013-11-06T08:43:49.083 回答