I am trying to create an application using ember.js and ember-data using the following versions:
DEBUG: Ember : 1.7.0 DEBUG: Ember Data : 1.0.0-beta.9 DEBUG: Handlebars : 1.2.1 DEBUG: jQuery : 2.1.0
I am using RESTAdapter to connect to the api that I wrote using node.js.
As soon as I download the application, I get the following error:
Error while processing route: students undefined is not a function TypeError: undefined is not a function at http://localhost:9000/scripts/vendor/ember-data.js:12006:34 at tryCatch (http://localhost:9000/scripts/vendor/ember.js:45818:16) at invokeCallback (http://localhost:9000/scripts/vendor/ember.js:45830:17) at publish (http://localhost:9000/scripts/vendor/ember.js:45801:11) at http://localhost:9000/scripts/vendor/ember.js:29069:9 at DeferredActionQueues.invoke (http://localhost:9000/scripts/vendor/ember.js:634:18) at Object.DeferredActionQueues.flush (http://localhost:9000/scripts/vendor/ember.js:684:15) at Object.Backburner.end (http://localhost:9000/scripts/vendor/ember.js:147:27) at Object.Backburner.run (http://localhost:9000/scripts/vendor/ember.js:202:20) at apply (http://localhost:9000/scripts/vendor/ember.js:18382:27)
Here's the code I'm using (loaded in the same order as I pasted it):
app.js
var App = window.App = Ember.Application.create({ LOG_ACTIVE_GENERATION: true, LOG_TRANSITIONS: true, LOG_TRANSITIONS_INTERNAL: false, LOG_VIEW_LOOKUPS: true });
store.js
App.ApplicationAdapter = DS.RESTAdapter.extend({ host: 'http://localhost:3000', serializer: DS.RESTSerializer.extend({ primaryKey: function(type) { return '_id'; }, serializeId: function(id) { return id.toString(); } }) });
models /student.js
App.Student = DS.Model.extend({ firstName: DS.attr('string'), lastName: DS.attr('string'), nationality: DS.attr('string'), createdAt: DS.attr('date') });
<strong> routes / app _route.js
App.StudentsRoute = Ember.Route.extend({ model: function() { return this.store.find('student'); } });
router.js
App.Router.map(function () { this.resource('students', {path: '/'}); });
And here is the API response:
{ students: [ { nationality: "Lorem", lastName: "Doe", firstName: "John", _id: "53f87200f3750319b4791235", createdAt: "2014-08-23T10:50:40.661Z" }, { nationality: "Lorem", lastName: "Doe", firstName: "John", _id: "53f87299f3750319b4791234", createdAt: "2014-08-23T10:50:40.661Z" } ] }
It looks like the store is not loading data from the API, but the JSON data format looks great. Any idea on what might be wrong?
Thanks!