2016-10-28 5 views
0

Ember.jsに比較的新しいです。私はemberの仕組みを勉強しています。この問題があります: Ember.jsルートからこのようなDjangoのAPI:this.store.findAll('MYMODEL', 'ANOTHER_MODEL_ID')カスタムURLからjsonを取得するためのEmber JSONAPIAdapter findAllの拡張

これのfindAllはは、動的ID(文字列のようなUUID)であるanother_model_id/mymodelという/ another_model_id /ようなAPIコールを生成します。

私は、ApplicationAdapter(末尾にスラッシュを追加するためのカスタムbuildUrlを持つJSONAPIAdapter)を拡張するカスタムアダプタ(mymodelアダプタ)でfindAllメソッドをオーバーライドしようとしました。しかし、findAllオーバーライドされたメソッドでは、ANOTHER_MODEL_IDパラメータに到達できないため、私の試行は失敗しました。また、urlForFindAllメソッドとbuildUrlメソッドを同じ結果でオーバーライドしようとしました。

このようなことを実行するための最良の方法は何ですか?どのようにすればいいですか?

答えて

0

私はurlForQuery機能を使用して解決してJSONAPIAdapterはDataAdapterMixinでそれを拡張するように私のアダプタを宣言しました。

0

findAllにはid引数はありません。 find( 'modelname'、 'id')という意味ですか?

import DS from 'ember-data'; 

export default DS.Adapter.extend({ 
    findAll: function(store, type, sinceToken) { 
    var query = { since: sinceToken }; 
    return new Ember.RSVP.Promise(function(resolve, reject) { 
     Ember.$.getJSON(`/${type.modelName}`, query).then(function(data) { 
     resolve(data); 
     }, function(jqXHR) { 
     reject(jqXHR); 
     }); 
    }); 
    } 
}); 
関連する問題