gpt4 book ai didi

javascript - Ember ActiveModelAdapter URL 不带下划线?

转载 作者:行者123 更新时间:2023-12-03 12:12:53 24 4
gpt4 key购买 nike

我对 GET-request =>/checklists 有这个 json 响应

{"check_lists": [
{
"id": 1,
"name": "Example-list-1",
"description": ""
},
{
"id": 2,
"name": "Example-list-1",
"description": ""
}
}

为了处理该服务器的下划线命名约定,我使用 ActiveModelAdapter 和 ActiveModelSerializer。

我遇到的问题是请求网址。我的模型名为 App.CheckList = DS.Model.extend({... 这就是它开始变得复杂的点。如果我打电话

return this.store.find('checkList');

在我的 route ,Ember 向/checkLists 路线发起 GET 请求,而不是/check_lists =>

GET http://localhost:3000/checkLists 404 (Not Found)
Error while processing route: checklists

令人惊讶的是这个错误

buildURL: function(type, id) {
return this._super(type, id);
},

未使用,因此我没有机会修改网址。

有人知道如何将请求更改为/check_lists吗?

最佳答案

驼峰式大小写和下划线大小写的映射是在 ActiveModelAdapter.pathForType 函数中完成的。您可以覆盖它并在那里进行更改。例如,从驼峰式大小写更改为下划线大小写:

App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
pathForType: function(type) {
var decamelized = Ember.String.decamelize(type);
var underscored = Ember.String.underscore(decamelized);

//Alternatively, you can change urls to dasherized case using this line
//var dasherized = Ember.String.dasherize(decamelized);

return Ember.String.pluralize(underscored);
}
});

奇怪的是,最新的Ember Data已经在ActiveModelAdapter中包含了这段代码。 。您可能需要检查正在运行的版本并升级到该版本,而不是我上面建议的更改。

关于javascript - Ember ActiveModelAdapter URL 不带下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24882597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com