私は2つのモデルを持っています:
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パラメーターを追加したいのであまり便利ではありません。