user3813559
user3813559

Reputation: 123

Importing JSON Response into model error Ember-cli

Here is the code app/routes/profile.js

import Ember from 'ember';
import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixin';

export default Ember.Route.extend(AuthenticatedRouteMixin, {
    model: function() {
        var _this = this;
        return Ember.$.get('/user/profile').then(function(data) 
            _this.store.push('profile', data);
        });
    }
});

app/models/profile.js

import DS from "ember-data";


export default DS.Model.extend({
    name:   DS.belongsTo('name')

});

app/models/name.js

import DS from "ember-data";


export default DS.Model.extend({
    firstName:   DS.attr('string'),
    lastName:   DS.attr('string')
});

app/serializers/profile.js

import DS from "ember-data";

export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
    attrs: {
        name: {embedded: 'always'}
    }
});

I'm getting an error cannot read property 'typeKey' of undefined

This is the JSON response from server.

{
    "id":"1",
    "name":{
        "id":"1",
        "firstName":"first name",
        "lastName":"last name"
    }       
}

Upvotes: 0

Views: 455

Answers (1)

Steve H.
Steve H.

Reputation: 6947

You'll need the server to return the payload wrapped in a type object:

{
    "profiles": [{
        "id":"1",
        "name":{
            "id":"1",
            "firstName":"first name",
            "lastName":"last name"
        }       
    }]
}

Upvotes: 1

Related Questions