2013-07-31 36 views
1

我试图在使用ember-data将一条新记录添加到一个到多个字段时触发足够的PUT请求。使用ember-data创建新记录并提交事务

var track = genre.get('tracks').createRecord({name: "Hit me baby one more time!"}) 
track.get('transaction').commit() 

这将向'/流派'发送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}}} 

如果不知何故可能,我也想对/轨道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

我的坏,在REST适配器我有这个设置:

DS.RESTAdapter.map('App.Genre', { 
    tracks: { embedded: 'always' } 
}) 

设置embeddedload解决我的问题。