修改 Model.url()

Model.urlCollection.url 僅在預設的 Backbone.sync 方法內部使用。預設方法假設你正在使用 RESTful API。如果你使用的是不同的端點設計,則需要覆蓋 sync 方法,並且可能需要使用 url 方法。

var Model = Backbone.Model.extend({
  
  urlRoot: '/path-to-model',
  
  url: function (path) {
    var url = this.urlRoot + '/' + path;
    if (this.isNew()) {
      return url;
    }
    return url + '/' + this.get(this.idAttribute);
  }
  
});

var model = new Model();
model.url('create'); // /path-to-model/create
model.set('id', 1);
model.url('read'); // /path-to-model/read/1
model.url('update'); // /path-to-model/update/1
model.url('delete'); // /path-to-model/delete/1