使用ember-data创建新记录并提交事务

时间:2013-07-31 18:41:11

标签: javascript ember.js ember-data

当我使用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')
})

1 个答案:

答案 0 :(得分:0)

我的不好,在REST适配器中我有这个设置:

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

embedded设置为load解决了我的问题。