@alidcastano wrote:
I'm trying to create a new instance of a model so that I can pass it into a component. The component is a form that needs the model to check validations (I'm using ember-cp-validations).
I tried this:
// route export default Ember.Route.extend({ model: function() { return this.store.createRecord('example'); } }); // template.js {{example/create-form model=model submitForm=(action 'submit')}} // model export default DS.Model.extend(Validations, { name: DS.attr('string'), problems: DS.hasMany('string') });
But the model returns null. So even if I have the component pass the model back down along with closure action, I cannot access that same model instance to save it's properties. I have to create another new instance of the model in order to get it to work but that just feels wrong.
submit(model, name) { // this.get('model').get(name)); //returns error cannot use get of null // create another record let exampleTwo = this.get('store').createRecord('example', { name: name}); exampleTo.save(); }
Is there a better way to pass new instances of models along to components using ember data?
Posts: 2
Participants: 2