对于名为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));
但这似乎是一个愚蠢的黑客,再次必须是一个超常见的用例。