修改 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