我有两个模型:
App.Providers = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
logo: DS.attr('string'),
products: DS.hasMany('App.Products')
});
App.Products = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string')
provider: DS.belongsTo('App.Providers'),
});
他们都使用同一个适配器。但是,对于 Products 模型,我想在 url 中附加一个额外的 url 参数(api 键)。如何扩展适配器(或序列化器?)来实现这一点?
所以只是给你一个例子,当我想为提供者做一个 GET 时:
http://example.com/ap1/v1/providers/
对于产品:
http://example.com/ap1/v1/products/?api_key=1234
我知道我可以添加这个,App.Products.find({api_key=1234})
但是当我这样做时会出现问题:
var providers = App.Providers.find(1);
providers.get('products');
编辑:我试图覆盖适配器中的 buildURL 方法,但这不是很方便,因为我只想为某些模型附加 api_key 参数。