vendredi 23 juin 2017

Ember.Object that does not implement Ember.Copyable

I have an acutal quite simple situation:
A route to add a new item. In the corresponding controller I pre define a mockup model of my new item:

item: Ember.Object.create({
                date: moment(),
                amountTotal: '',
                netto: '',
                //...more properties
}),

This needs to be an Ember-Object, not a plain js-Object, because otherwise other things would break.

When I try to safe that newly created item:

actions: {

    addItem: function() {
        let expense = this.store.createRecord('expense', this.get('item'));
    },
    //....
}

I get the error

Assertion Failed: Cannot clone an Ember.Object that does not implement Ember.Copyable

So my Question is:
How can I create an Object that implements Ember.Copyable?
Or is there any way around this?

Yes, I've read the two other questions about that. The first gives a soulution where I would initially create a record in the store. This has the usual downsides to it (already populating in lists, ..).

I've also tried all ways I could think of to get around that like

item: Ember.Copyable.create({...})
// or 
let newItem = Ember.copy(this.get('item'));
let expense = this.store.createRecord('expense', newItem);
// and many more




Aucun commentaire:

Enregistrer un commentaire