mardi 3 février 2015

Ember many-to-many Ids are not included in JSON payload on post?

I have a meeting and a sales-rep models, The relation is ManyToMany.


The problem is, When I want to create a New meeting, and assign existing salesReps to it (They are already saved to the store), But The salesReps IDS are not included in The post action caused by model.save() (not even an empty array), To make it more clear, Here is what my code looks like:


meeting.coffee:



Meeting = DS.Model.extend
client: DS.belongsTo('client')
salesReps: DS.hasMany('sales-rep')
memo: DS.attr('string')
startDate: DS.attr('date')
duration: DS.attr()


sales-rep.coffee:



SalesRep = DS.Model.extend
meetings: DS.hasMany('meeting')
firstName: DS.attr('string')
lastName: DS.attr('string')
title: DS.attr('string')


meetings/new.coffee (the save action am using inside new meeting controller):



save: ->
meeting = @get('model')
meeting.set('client', @get('client'))
meeting.get('salesReps').pushObjects(@get('salesReps.content'))
meeting.save().then =>
@transitionToRoute 'meetings'


the JSON payload: ( POST http://localhost:4200/api/meetings)



meeting: {memo: null, start_date: null, duration: "00:15", client_id: null}
client_id: null
duration: "00:15"
memo: null
start_date: null


No matter what, There is no ANY trace of the salesReps ids in the payload!!


What I tried so far:




  • Setting the hasMany relation in the meeting model only.




  • Setting {async: true}, and then {async: false}, on both SalesRep, And then on one of them




  • spending almost 2 days googling and reading all related posts in here with no luck




Any Help/hints/Advice, Is highly appreciated





Aucun commentaire:

Enregistrer un commentaire