0

Store:

App.Store = DS.Store.extend({
    revision: 12,
    adapter: DS.BasicAdapter.create()
});

Model:

var Profiles = DS.Model.extend({
    displayName: DS.attr('string'),
    profileName: DS.attr('string')
}),
User = DS.Model.extend({
    email: DS.attr('string'),
    phone: DS.attr('string'),
    profiles: DS.hasMany(Profiles, {embedded: true})
});

JSON data for model:

{
    "email": "some email",
    "phone": "some phone number",
    "profiles": [
        {
            "displayName": "some name",
            "profileName": "some name"
        },
        {
            "displayName": "some name",
            "profileName": "some name"
        }
    ]
}

In the template:

{{#if model.isLoaded}}
    email: {{model.email}} // displayed
    {{model.profiles.length}} // number of objects in array is displayed

    {{#each model.profiles}}
        // this line generates error Uncaught TypeError: Cannot call method
           '_create' of undefined ember-data.js:2560
    {{/each}}
{{/if}}

Any idea why this line generates an error? Especially if model.profiles.length displays correct value?

Wojciech Bednarski
  • 6,033
  • 9
  • 49
  • 73

1 Answers1

0

At first, the syntax you used for embedding Profiles in user is not relevant anymore. Please check this answer for a proper way to set this.

Community
  • 1
  • 1
Adrien Coquio
  • 4,870
  • 2
  • 24
  • 37