我正在尝试利用通过 Ember Data 源代码注释的钩子,但我似乎无法以调用它们的方式实现这些方法。
我目前正在尝试使用keyForPolyMorphicType
which is a hook in DS.JSONSerializer
,这是A hook you can use in your serializer subclass to customize
how a polymorphic association's name is converted into a key for the type.
我目前的设置方式
var jsonSerializer = DS.JSONSerializer.extend({
keyForPolymorphicType: function(name) {
debugger
}
})
var serializer = jsonSerializer.create()
DS.RESTAdapter.configure('ServerDemo.Component', {
alias: 'component'
});
ServerDemo.Adapter = DS.RESTAdapter.extend({
bulkCommit: false
,serializer: serializer
});
ServerDemo.Store = DS.Store.extend({
revision: 12,
adapter: ServerDemo.Adapter.create()
});
如果有人可以提供有关如何使用散布在源代码中的钩子的指导,那将很有帮助
编辑
这是我的模型
ServerDemo.Note = DS.Model.extend
title: DS.attr 'string'
content: DS.attr 'string'
index: DS.attr 'number'
noteable: DS.belongsTo 'ServerDemo.Noteable'
ServerDemo.Noteable = DS.Model.extend
note_ids: DS.hasMany 'ServerDemo.Note'
ServerDemo.Part = ServerDemo.Noteable.extend
rack_pos: DS.attr 'number'
server_config_id: DS.belongsTo 'ServerDemo.ServerConfig'
partable: DS.belongsTo 'ServerDemo.Partable', { polymorphic: true }
note_ids: DS.hasMany 'ServerDemo.Note'
semanticRackPos: (->
"rack_pos_#{this.get('rack_pos')}"
).property('rack_pos')
ServerDemo.Partable = DS.Model.extend
part_ids: DS.hasMany 'ServerDemo.Part'
ServerDemo.Component = ServerDemo.Partable.extend
back_image: DS.attr 'string'
cols: DS.attr 'number'
rows: DS.attr 'number'
front_image: DS.attr 'string'
name: DS.attr 'string'