2016-10-28 66 views
0

我對Ember.js比較新,我試圖研究如何使用ember工作,並且我遇到了這個問題:Ember.js路由中的 我會打電話給我django的API這樣的:this.store.findAll('MYMODEL', 'ANOTHER_MODEL_ID')擴展Ember JSONAPIAdapter findAll從自定義url中獲取json

此的findAll將產生API調用像/爲MyModel/another_model_id /其中another_model_id是一個動態的ID(UUID等字符串)。

我試着用自定義適配器(mymodel適配器)來覆蓋findAll方法,該適配器擴展了ApplicationAdapter(JSONAPIAdapter和自定義的buildUrl用於添加尾部斜線)。但是我的嘗試失敗了,因爲在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); 
     }); 
    }); 
    } 
});