Quantcast
Channel: Ember.JS - Latest topics
Viewing all articles
Browse latest Browse all 4828

How to get model params on an adapter

$
0
0

@ezy wrote:

I'm trying to fetch data from the following URL structure:

${ENV.APP.API_HOST}/api/v1/customers/:customer_orgCode/sites/

I'm using an adapter to shape the request with buildURL with the following files:

// 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);
  }
});

The 'site' model is located at:

// models/site.js

I'm able to get the customer_orgCode on the route, but unable to pull it into the adapter. I've noted that the model isn't being populated in the Ember inspector, but the sites data is present when I make the request. Does anyone know how I can dynamically populate the buildURL with the customer_orgCode from the params on the router? And then specify sites/index to use the 'site' model?

Posts: 2

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 4828

Trending Articles