Javascript 如何在主干js模型中生成单独的RESTful URL进行编辑和更新?

Javascript 如何在主干js模型中生成单独的RESTful URL进行编辑和更新?,javascript,backbone.js,Javascript,Backbone.js,我正在按照Jame Yu的主干教程创建我自己的应用程序。下面是我的模型。我想知道是否有一种方法可以为编辑和更新(RESTful)生成单独的URL,而不是像教程中那样只生成1个URL。我在后端使用导轨。谢谢 var BusinessCard = Backbone.Model.extend({ url : function() { var base = 'business_cards'; if (this.isNew()) return 'backbone/' + base

我正在按照Jame Yu的主干教程创建我自己的应用程序。下面是我的模型。我想知道是否有一种方法可以为编辑和更新(RESTful)生成单独的URL,而不是像教程中那样只生成1个URL。我在后端使用导轨。谢谢

var BusinessCard = Backbone.Model.extend({

  url : function() {

    var base = 'business_cards';

    if (this.isNew()) return 'backbone/' + base;

    return 'backbone/' + base + (base.charAt(base.length = 1) == '/' ? '' : '/') 
    + this.id;

  }
})

默认主干同步方法在执行更新时,通过将模型id附加到url,完全按照您所希望的方式工作


如果您需要自定义数据发送到服务器的方式,我发现最好的方法是创建自己的主干同步。下面是我如何将创建和更新请求包装到根json对象中的一个示例:

您缺少REST的要点……事实上,有一个URI响应统一接口中的不同动词(GET、POST、PUT、DELETE),这使得它是restful的。所以主干网实际上是RESTful的,而你不是。

那么,编辑呢,url的末尾不会有/edit,这就是问题所在。我不知道如何确定模型何时被编辑。/编辑不存在。PUT请求应该是/model name复数/id,主干网就是这样做的。要添加到@Julien的注释中,基本上需要某种路由服务器端,可以区分GET、POST、PUT和DELETE。我使用的是SLIM-PHP,它在实践中看起来是这样的:$app->put('/modelName/:id',function($id)use($app){//执行编辑概念的代码});我有四种HTTP请求方法的路由。当我想要创建模型时,我使用POST。当我想要检索模型时,获取。当我想要编辑时,我发送一个PUT请求。当我想从数据库中删除一个模型时,我会发送一个DELETE。服务器根据HTTP请求做出适当的反应。