0

私は Ember Model を使用しており、次のように各モデルに URL プレフィックスを追加するのではなく、すべてのモデルに URL プレフィックスを設定したいと考えています。

App.MyModel = Ember.Model.extend({
  id: attr(),
  myAttr: attr()
});

App.MyModel.reopenClass({
  url: ajaxUrl + '/some/obscure/path'
});

デフォルトが にEmber.Modelなるようにおそらくオーバーライドできることは承知していますが、上記の例のようにデフォルト以外に設定したい場合は、前に追加する必要があります。urlajaxUrl

これが不可能な場合、デフォルトを設定するための推奨される方法はありますurlか?

4

1 に答える 1

0

私が思いついた最善の解決策は、Ember.RESTAdapterそれ自体を拡張することです。

Ember.RESTAdapter = Ember.RESTAdapter.extend({
  ajaxSettings: function(url, method) {
    return {
      url: ajaxUrl + url,
      type: method
    };
  }
});

App.MyModel = Ember.Model.extend({
  id: attr(),
  myAttr: attr()
});

App.MyModel.reopenClass({
  adapter: Ember.RESTAdapter.create(),
  url: '/some/obscure/path'
});

それが私のモデルに使用するアダプターだからです。理想的ではないと思いますが、うまくいきます。

于 2014-09-12T23:18:30.453 に答える