使用ember-data在Ember.js RC1中侧载属于数据

时间:2013-02-22 00:51:47

标签: ember.js ember-data

Sideloading正在我们的应用程序中用于hasMany关系,但我无法让它为belongsTo关系工作。我正在尝试使用记录的DS.RESTAdapter.configure()方法,但这似乎没有任何影响。我得到的错误是Uncaught Error: assertion failed: Your server returned a hash with the key occasions but you have no mapping for it

请注意,我们不需要指定hasMany sideload映射,因为该请求才有效。 App.Occasion.find();工作正常。 App.Reminder.find();会抛出错误。

模型

App.Reminder = DS.Model.extend(
  occasion: DS.belongsTo('App.Occasion')
  ...
)
App.Occasion = DS.Model.extend(Ember.Validations,
  reminders: DS.hasMany('App.Reminder')
  ...
)

Store.js.coffee

DS.RESTAdapter.configure('App.Occasion',
    sideLoadAs: 'occasions'
)
App.Store = DS.Store.extend(
  revision: 11
  adapter: DS.RESTAdapter.create()
)

JSON(适用场合)

{
  reminders: [{},...],
  occasions: [{reminders: [1,2,...]},...]
}

JSON(用于提醒)

{
  reminders: [{occasion_id: 1},...],
  occasions: [{},...]
}

1 个答案:

答案 0 :(得分:6)

尝试sideloadAs而不是sideLoadAs(不是资本L