Я пытаюсь получить данные из следующей структуры URL:Ember: как добавить Params от маршрутизатора к адаптеру
${ENV.APP.API_HOST}/api/v1/customers/:customer_orgCode/sites/
Я использую адаптер, чтобы сформировать запрос с buildURL со следующими файлами:
// router.js
this.route('sites', { path: 'customers/:customer_orgCode/sites' }, function() {
this.route('show', { path: ':site_id' });
});
// adapters/site.js
export default ApplicationAdapter.extend({
buildURL (modelName, id, snapshot, requestType, query) {
// return `${ENV.APP.API_HOST}/api/v1/customers/${snapshot???}/sites/`;
return `${ENV.APP.API_HOST}/api/v1/customers/239/sites/`;
}
}
// routes/sites/index.js
export default Ember.Route.extend({
model: function() {
let superQuery = this._super(...arguments),
org = superQuery.customer_orgCode;
this.store.findAll('site', org);
}
});
Я смог получить customer_orgCode на модели, но не смог вытащить ее в адаптер. Я заметил, что модель не заполняется инспектором Ember, но данные сайтов присутствуют, когда я делаю запрос. Кто-нибудь знает, как я могу динамически заполнить buildURL с помощью customer_orgCode из параметров на маршрутизаторе? А затем укажите сайты/индекс для использования модели «сайт»?
если вы используете JSONApiAdapter, то вы можете попробовать использовать http://emberjs.com/api/data/classes/DS.JSONAPIAdapter.html#method_urlForFindAll – Sumit