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: [{},...]
}
答案 0 :(得分:6)
尝试sideloadAs
而不是sideLoadAs
(不是资本L
)