0

私は単純な作業をしていますDS.Store

commit私はこの方法で関数を呼び出します:

SA.CampaignController = Ember.ObjectController.extend({
    save: function() {
        this.get('store').commit();
    }
});

Ember Guides の Tom Dale のビデオ チュートリアルのように。そのチュートリアルのコードは次のとおりです - https://github.com/tildeio/bloggr-client/blob/master/js/app.js

PUTただし、ビデオでは、このアクションが呼び出されたときにリクエストが発火するのを見ることができます。ただし、私のコードでは起動しません..ポインタはありますか?

があり、Route次のようModelStore定義されています。

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";
        }
    })
});
4

1 に答える 1

0

ソースを見て、buildUrl引数としてルート、サフィックス、レコードを期待します。

これを変更してみてください:

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";
}

これは、通知されたすべての引数がスーパー メソッドに渡されるため、メソッドをオーバーライドするためのより良い方法です。

于 2013-08-05T11:54:30.443 に答える