Model chaining (parent->child1->child2)


#1

How do I make nested model work?

 App.Router.map(function () {
    this.resource('parents', {path: '/'}, function(){
      this.resource('children1', {path: ':id'}, function () {
        this.resource('children2', {path: ':id'})
      });
    });
  });

  App.ParentsRoute = Ember.Route.extend({
    model: function () {
      return this.store.find('parent');
    }
  });

  App.Children1Route = Ember.Route.extend({
    model: function (param) {
      var _model = this.store.find('parent', param.id);
      return _model;
    }
  });

  App.Children2Route = Ember.Route.extend({
    model: function (param) {
      var _model = this.store.find('children1', param.id);
      return _model;
    }
  });

  App.Parent = DS.Model.extend({
    title: DS.attr('string'),
    subTitle: DS.attr('string'),
    childrens1: DS.hasMany('children1', {async: true})
  }).reopenClass({
    FIXTURES: [
      {
        id: 1,
        title: 'OA',
        subTitle: 'denotes the amount spent'
        , childrens1: [1,2,3]
      },
      {
        id: 2,
        title: 'OQ',
        subTitle: 'denotes the qty'
        , childrens1: []
      },
      {
        id: 2,
        title: 'RA',
        subTitle: 'denotes the coupon/redeem amount'
        , childrens1: []
      }
    ]
  });

  App.Children1 = DS.Model.extend({
    title: DS.attr('string'),
    type: DS.attr('string'),
    parent: DS.belongsTo('parent'),
    childrens2: DS.hasMany('children2', {async: true})
  }).reopenClass({
    FIXTURES: [
      {
        id: 1,
        title: 'Order amount',
        type: 'amount',
        parent: 1
        , childrens2: 1
      },
      {
        id: 2,
        title: 'quantity',
        type: 'qty'
        , parent: 1
        , childrens2: 2
      },
      {
        id: 3,
        title: 'Redeem',
        type: 'amount'
        , parent: 1
        , childrens2: 1
      }
    ]
  });

  App.Children2 = DS.Model.extend({
    type: DS.attr('string'),
    val1: DS.attr('number')
  }).reopenClass({
    FIXTURES: [
      {
        id: 1,
        type: 'amount',
        val1: 0
      },
      {
        id: 2,
        type: 'qty',
        val1: 0
      }
    ]
  });

Please suggest if there is any better approach!