javascript - get 'store' is undefined in my adapter -


i making request 3rd api through backend. api returns array of events frontend , having trouble storing in ember ds. route api request eventful , route/model trying create event eventful-event. call:

this.get('store').createrecord('eventful-event', concert)

in eventful adapter , 'store' undefined. here code eventful route:

import ember 'ember';  export default ember.route.extend({   model () {     return this.get('store');   },    data : {},    ajax: ember.inject.service(),    actions: {     searchforevents (data) {       let eventful = this.get('store').createrecord('eventful', data);       return eventful.save();       // .then(() => this.transitionto('search-results'));       // return this.get('store').findall('eventful');       // let = this.get('store').findall('eventful');       // console.log('something:', something);       // return eventful.save();     }   } });  

and eventful adapter:

import applicationadapter 'ga-wdi-boston.event-bookmarker/application/adapter'; import ember 'ember';  export default applicationadapter.extend({   ajax: ember.inject.service(),    createrecord (store, type, record) {     let serialized = this.serialize(record, { includeid: true});     let data = { serialized };     let datatosend = {'keywords': record.record.keywords, 'location': record.record.location };     return this.get('ajax').request('/eventful', {       method: 'post',       data: datatosend,     }).then((events) => {       events['eventful-event'].foreach(function(concert){         this.get('store').createrecord('eventful-event', concert);       });     });   } }); 

this foreach error thrown. i'm new ember apologize if overlooking simple, or if approach not correct. advice or appreciated.

just put debugger in. 'this' in adapter undefined.

i believe context problem. try using store (argument of adapter method) instead of this.get('store') inside local function:

createrecord (store, type, record) {     let serialized = this.serialize(record, { includeid: true});     let data = { serialized };     let datatosend = {'keywords': record.record.keywords, 'location': record.record.location };     return this.get('ajax').request('/eventful', {       method: 'post',       data: datatosend,     }).then((events) => {       events['eventful-event'].foreach(function(concert){         store.createrecord('eventful-event', concert);       });     });   }