2

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侧载映射,因为该请求可以正常工作。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: [{},...]
}
4

1 回答 1

6

尝试sideloadAs代替sideLoadAs(不是大写L

于 2013-02-22T18:27:45.980 回答