How to set nested object in model

Hi guys, I have some messed up situation. So i have tag model which has following fields and it’s responses from backend. Now when i try to update or create new data it gives me an error:

Cannot call set with ‘feature’ on an undefined object."

Cannot call set with ‘detail’ on an undefined object."

What i have is tag-form component and edit, new routes. So other title is fine but show field, and images fields are nested objects. I think error triggers that’s why? how can i fix it. here is model

import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string'),
  show: DS.attr(),
  images: DS.attr(),

backend response is:

    "title": "Tasty",
    "images": {
        "thumb": "",
        "cover": ""
    "show": {
       "detail": true,
       "feature": true

edit route:

model(param) {

{{tag-form tag=model isUpdate=true}}

new route:

model() {

{{tag-form model=model}}

Now my tag-form is:

<form id="myForm" data-abide novalidate {{action "tagAction" model on='submit'}} >
  {{input value=model.title}}
  {{input value=model.images.thumb}}
  {{input value=model.images.thumb}}

looks like after you have created record, show and image aren’t objects. Try adding defaults to both of them in model, and set as plain objects

How to add defaults to them? Like ember don’t allow nested objects in model field right? is it possible to define like this?

  show: DS.attr(
      detail: DS.attr('boolean')

hey, sorry for late response, check here DS.Model - 2.16 - Ember API Documentation there’s default value in example.

" is it possible to define like this?" - no it’s not But you can set object in models property, just pass nothing to attr. LIke DS.attr().