I recently got into ember.js development and I'm facing a problem. I've two models user.js and userpermissions.js
// user
export default DS.Model.extend({
userName:DS.attr('string'),
lastName:DS.attr('string'),
permissionList:DS.hasMany('userpermission',{async:true}),
});
// userpermissions
export default DS.Model.extend({
user:DS.belongsTo('user'),
permissionName:DS.attr('string'),
permissionId:DS.attr('string'),
});
I'm trying to set permissions for a user record.
export default Ember.Controller.extend({
selectedPermission: {},
newUser: {},
init: function() {
this.newUser = this.store.createRecord('user');
},
addPermission: function() {
var permission = this.store.createRecord('userpermission');
permission.set('permissionId', this.get('selectedPermission.id'));
this.get('newUser').get('permissionList').pushObject(permission);
}
});
Finally save is called for new user.
this.get('newuser').save();
To persist data to my nodejs back-end. All the userpermissions are recorded as null. I've tried to search for a solution but couldn't find one. Could anyone point me what i am doing wrong, or what is the solution thank you!
i resolved this by adding user Serializer and EmbeddedRecordsMixin
import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
permissionList: { embedded: 'always' },
}
});