我正在使用一个简单的DS.Store
我以这种方式调用commit
函数:
SA.CampaignController = Ember.ObjectController.extend({
save: function() {
this.get('store').commit();
}
});
就像汤姆戴尔在Ember指南中的视频教程一样。以下是该教程的代码 - https://github.com/tildeio/bloggr-client/blob/master/js/app.js
但是,在视频中,我们可以看到在调用此操作时触发PUT
请求。虽然我的代码中没有触发..任何指针?
我将Route
,Model
和Store
定义为:
SA.EditcampaignRoute = Ember.Route.extend({
model: function() {
return SA.Campaign.find();
}
});
SA.Campaign = DS.Model.extend({
name: DS.attr('string'),
number: DS.attr('string')
});
SA.Store = DS.Store.extend({
adapter: DS.RESTAdapter.extend({
url: "http://localhost/self_admin/json",
buildURL: function(record, suffix) {
var s = this._super(record, suffix);
return s + ".json";
}
})
});
答案 0 :(得分:0)
我看一下source和buildUrl
期望root,suffix,record作为参数。
尝试更改此内容:
buildURL: function(record, suffix) {
var s = this._super(record, suffix);
return s + ".json";
}
要:
buildURL: function() {
var s = this._super.apply(this, arguments);
return s + ".json";
}
这是覆盖方法的更好方法,因为所有通知的参数都将传递给super方法。