首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DS.RESTAdapter以本地主机为目标,而不是指定的主机

DS.RESTAdapter以本地主机为目标,而不是指定的主机
EN

Stack Overflow用户
提问于 2014-10-02 13:59:49
回答 1查看 70关注 0票数 0

我将我的RESTAdapter定义如下

代码语言:javascript
运行
复制
Metabuyer.RequisitionsAdapter = DS.RESTAdapter.extend({
    namespace: "apps/purchasing",
    host: 'http://metabuyer.apiary-mock.com'
});

Metabuyer.RequisitionsSerializer = DS.RESTSerializer.extend({
    normalizePayload: function(payload) {
        return payload['data'];
    }
});

加载页面时,我收到以下错误

代码语言:javascript
运行
复制
GET http://localhost:9000/requisitions 404 (Not Found)

它不是目标

代码语言:javascript
运行
复制
http://metabuyer.apiary-mock.com/apps/purchasing/requisitions

在此之前,我定义了我的车把,路由器,路由,型号,商店和适配器与'requisition‘单数(没有附加's')它工作得很好。

它的目标是

代码语言:javascript
运行
复制
http://metabuyer.apiary-mock.com/apps/purchasing/requisitions

它实际上让我想知道为什么RESTAdapter会在网址的末尾附加一个'S‘(requisitionS),但因为它是有效的(而且,这是mock API中的网址),我并不太关心它。

现在我想遵循命名约定,所以我将我的把手、路由器、路由、型号、商店和适配器的名称更改为'requisitions‘,然后错误就发生了。

感谢您在高级课程中的帮助

EN

回答 1

Stack Overflow用户

发布于 2014-10-02 22:40:24

您的问题是适配器和序列化程序不应该是复数,请参阅:http://emberjs.com/guides/models/customizing-adapters/

应该是Metabuyer.RequisitionAdapterMetabuyer.RequisitionSerializer

默认情况下,ember数据将复数形式的模型名称用于路径。因此,对于Requisition模型,它将向/requisitions发出请求

如果您想覆盖它,可以更改DS.RESTAdapter上的pathForType属性并返回您想要的任何路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26155173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档