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: [{},...]
}