使用Ember数据在Ember.js RC1中侧面加载belongsTo数据



侧加载在我们的应用程序中适用于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侧载映射,因为该请求只起作用。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: [{},...]
}

尝试sideloadAs而不是sideLoadAs(非大写L

最新更新