ember-resource icon indicating copy to clipboard operation
ember-resource copied to clipboard

Cannot set value on a nested has-many collection

Open jamesarosen opened this issue 12 years ago • 1 comments

Example:

Klass = Em.Resource.define({
  schema: {
    children: {
      type: Em.ResourceCollection,
      itemType:Object,
      nested: true
    }
  }
});

k = Klass.create({});
k.set('children', [ { name: 'Harold' } ]);
k.get('children'); // undefined

jamesarosen avatar Mar 30 '12 00:03 jamesarosen

I believe the following works:


Ember.Resource.HasManyNestedSchemaItem.reopen({
  setValue: function(instance, value) {
    var data = this.data(instance);
    if (!data) return;

    if (Em.isArray(value)) { value = value.toArray(); }

    Ember.Resource.deepSet(data, this.get('path'), value);
  }
});

jamesarosen avatar Mar 30 '12 00:03 jamesarosen