我为一个名为time-zone的模型提供了以下Ember适配器
import Ember from 'ember';
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
namespace: 'api/v2',
pathForType: function(type) {
// type here is "time-zone"
return Ember.String.underscore(type);
}
});我想要的是我的HTTP请求被发送到/api/v2/time_zones,但是它是以/api/v2/time_zone的形式出现的,这是错误的。
这是我的模型文件:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string')
});这是我的路由文件的相关部分:
import Ember from 'ember';
export default Ember.Route.extend({
model(params) {
return Ember.RSVP.hash({
timeZones: this.store.findAll('time-zone')
});
}
});将像timeZone或time-zone这样的名称调整到端点URI (如/api/v2/time_zones )对于Ember来说似乎是一个非常常见的用例,所以我很困惑于我正在尝试的东西不起作用。
我能做到这一点并让它发挥作用:
return Ember.String.pluralize(Ember.String.underscore(type));但这似乎是一次愚蠢的黑客攻击,再次肯定是一个超级普通的用例。
发布于 2017-08-24 22:25:17
我认为当你使用复数的时候你做的很对。它在文档中说,默认情况下,它将使类型多元化,但是由于您要重写它,所以必须自己将其多元化。
https://stackoverflow.com/questions/45870808
复制相似问题