2014-10-17 100 views
2

这样的URL一起工作是否可以重写骨干模型的url方法,以便将url插入到url字符串的中间。自定义骨干模型以与像/ documents/6 /编辑器

I.e.我不想从这个

documents/6 

获取但这

documents/6/editor 

和similiary更新

documents/6/editor 

目前骨干上总是附加标识的URL字符串的结尾坚持。

我试图

urlRoot: function(){ 
    return "/documents" + this.id + "/editor"; 
} 

虽然这个作品从它的更新失败服务器获取的典范。这似乎是试图链接

/documents/6/editor/6 

,而不是

/documents/6/editor 

回答

2

重写Model.urlRoot改变您的网址的前缀,并在后面Model.url

用于尝试

var M = Backbone.Model.extend({ 
    urlRoot: '/documents', 
    url: function() { 
     var base = Backbone.Model.prototype.url.call(this); 
     if (this.isNew()) return base; 
     return base+'/editor'; 
    } 
}); 

而且演示http://jsfiddle.net/nikoshr/pjr81pLd/

+0

完美!没有考虑使用那样的原型。 – robodisco 2014-10-18 04:15:24