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

dig*_*noe 2 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.

请注意,我们不需要指定hasManysideload映射,因为该请求才有效.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')
  ...
)
Run Code Online (Sandbox Code Playgroud)

Store.js.coffee

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

JSON(用于场合)

{
  reminders: [{},...],
  occasions: [{reminders: [1,2,...]},...]
}
Run Code Online (Sandbox Code Playgroud)

JSON(用于提醒)

{
  reminders: [{occasion_id: 1},...],
  occasions: [{},...]
}
Run Code Online (Sandbox Code Playgroud)

Ted*_*nny 6

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