Ember.js 在ember data 1.0.0-beta中扩展ApplicationAdapter

Ember.js 在ember data 1.0.0-beta中扩展ApplicationAdapter,ember.js,ember-data,Ember.js,Ember Data,在余烬数据v0.14(测试前)中。您可以简单地扩展模型功能以添加额外的api调用,比如在帖子上投票 // ember-data v0.14 App.Post.reopenClass({ vote: function(post_id) { return console.log('vote'); } }); 但在灰烬数据测试版之后,这就不再有效了。因此,我认为最好将此代码放在App.PostAdapter中。但是当我试图从App.ApplicationAdapter.extend扩

在余烬数据v0.14(测试前)中。您可以简单地扩展模型功能以添加额外的api调用,比如在帖子上投票

// ember-data v0.14
App.Post.reopenClass({
  vote: function(post_id) {
    return console.log('vote');
  }
});
但在灰烬数据测试版之后,这就不再有效了。因此,我认为最好将此代码放在
App.PostAdapter
中。但是当我试图从App.ApplicationAdapter.extend扩展时,它没有起作用

// ember-data beta (doesn't work)
App.PostAdapter = App.ApplicationAdapter.extend({
  vote: function(post_id) {
    return console.log('vote');
  }
});

你知道我做错了什么吗?如果你有更好的建议,我应该把这些电话放在哪里,我会非常感激。提前感谢

您应该能够在普通类定义中包含该方法(使用
扩展
),然后在任何活动对象上调用它

App.Post = DS.Model.extend({
  vote: function(post_id) {
    return console.log('vote');
  }
});
然后在其他地方,比如你的
PostController
,你会有这样的东西(假设你的
postproute
正在做正常的事情):

App.PostController = Ember.ObjectController.extend({
  actions:{
    recordVote : function(){
      this.get('content').vote();
    }
  }
});