当我使用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}}}
如果可能的话,我还想为/ track上的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')
})
答案 0 :(得分:0)
我的不好,在REST适配器中我有这个设置:
DS.RESTAdapter.map('App.Genre', {
tracks: { embedded: 'always' }
})
将embedded
设置为load
解决了我的问题。