我发现如果我尝试将url包含在ember-data模型的原始定义中,它会在我的REST适配器中爆炸,但如果我只是“重新打开”,那就没关系。
这背后的技术原因是什么? (下面是工作示例)
CodeCamp.Speaker = DS.Model.extend({
id: DS.attr('number'),
name: DS.attr('string'),
session: DS.belongsTo('CodeCamp.Session')
});
CodeCamp.Speaker.reopenClass({
url: 'sessions/%@/speakers'
});
答案 0 :(得分:15)
在对象上调用extend
设置实例属性,而reopenClass
设置类属性。
url
属性是类级属性
Ember.get(CodeCamp.Speaker, 'url')
而不是:
speaker = CodeCamp.Speaker.createObject()
Ember.get(speaker, 'name')
答案 1 :(得分:0)
另请注意,您只需使用reopen
即可扩展实例。 Emberjs的文档包含您在http://emberjs.com/guides/object-model/reopening-classes-and-instances/