【发布时间】:2015-10-02 14:28:11
【问题描述】:
我正在使用 ember-data 来获取我的路由 api 上的所有事件:/api/events,问题是返回的 JSON 不符合 Ember 的请求,有什么我可以解决的吗是吗?
这是我的代码:
适配器和序列化器:
SiteApp.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api'
});
SiteApp.ApplicationSerializer = DS.RESTSerializer.extend({
primaryKey: '_id'
});
事件模型:
SiteApp.Event = DS.Model.extend({
description : DS.attr(),
name : DS.attr().
type : DS.attr()
});
在路线中我有this.store.findAll('event');
JSON 是这样的:
{
data: [{
_id: "55f660bdd80a0fd2e298f333",
attributes: {
description: "test",
name: "name",
is_active: false
},
type: "events"
}]
}
如果我更改“事件”的“数据”,这会起作用,但我不能,这不是一个选项。
是否可以通过其他方式解决?
【问题讨论】:
-
modelNameFromPayloadKey? -
当您说不能将
data更改为event时,您是指在服务器上吗?因为您可以通过创建一个新对象并将data的值分配给一个新的obj 来change it on the client。 -
是的,我无法更改服务器中的响应,所以我需要更改客户端,这可能吗?
-
我会搜索这个modelNameFromPayloadKey @torazaburo
-
是的,这有效@torazaburo,可以在 RESTSerializer 中获取类型的值,并分配新的有效负载??
标签: javascript json ember.js ember-data