【发布时间】:2015-02-03 11:33:05
【问题描述】:
我有一个meeting 和一个sales-rep 模型,关系是ManyToMany。
问题是,当我想创建一个新会议并将现有的 salesReps 分配给它时(它们已经保存到商店),但是 salesReps IDS 不包含在由model.save() 引起的post 操作中(甚至不是一个空数组),为了更清楚,这是我的代码的样子:
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(保存操作正在新会议控制器中使用):
save: ->
meeting = @get('model')
meeting.set('client', @get('client'))
meeting.get('salesReps').pushObjects(@get('salesReps.content'))
meeting.save().then =>
@transitionToRoute 'meetings'
JSON 负载:( 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
无论如何,payload 中没有任何 salesReps id 的踪迹!!
到目前为止我尝试了什么:
仅在会议模型中设置 hasMany 关系。
在两个 SalesRep 上设置 {async: true},然后设置 {async: false} 然后在其中一个上
花了将近 2 天的时间在谷歌上搜索并阅读此处的所有相关帖子 没有运气
任何帮助/提示/建议,非常感谢
【问题讨论】:
-
这个问题在这里github.com/emberjs/data/issues/120可能与它有关,可能的解决方案在这里stackoverflow.com/questions/15624193/…
标签: json ember.js ember-data