当我使用 ember-data 将新记录添加到一对多字段时,我尝试触发足够的 PUT 请求。
var track = genre.get('tracks').createRecord({name: "Hit me baby one more time!"})
track.get('transaction').commit()
这将向“/genres”发送 PUT 请求,并发送所有流派属性和其他轨道。
// PUT /genres
{"genre":{"name":"Pop","tracks": [{"name":"Hit me baby one more time!","genre_id":null}]}}
但我更喜欢某事。像:
// PUT /tracks
{"track": {"name":"Hit me baby one more time!", "genre_id":1}}}
如果可能的话,我还想为/tracks 上的 PUT 请求自动添加一个附加参数。这些是我的模型:
App.Genre = DS.Model.extend({
name: DS.attr('string'),
tracks: DS.hasMany('App.Track')
})
App.Track = DS.Model.extend({
genre: DS.belongsTo('App.Genre'),
uri: DS.attr('string')
})
最佳答案
我的错,在 REST 适配器中我有这样的设置:
DS.RESTAdapter.map('App.Genre', {
tracks: { embedded: 'always' }
})
将embedded
设置为load
解决了我的问题。
关于javascript - 使用 ember-data 创建新记录并提交事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978315/