2013-02-20 47 views
3

首先我很抱歉,因爲我不確定問題標題是否準確地描述了我正在嘗試做的事情。我喜歡/討厭骨幹REST api結構,但我試圖加入它並支持模型之間關係的'圖表'。REST API中的主幹和複合模型 - 有可能嗎?

所以最簡單的終點是一樣的東西:

/machines/:id 

/projects 

但我要採取這一步,顯示關係的「圖形」:

/machines/:machine_id/projects 

/machines/:machine_id/projects/:project_id 

我想要考慮採取的最佳方法,並懷疑是否有人有任何經驗,他們會在這方面分享。現在,我已經定義了machinesprojects的模型以及非關係端點的工作方式。我想我的下一步將是創建一個虛構的複合模型MachinesProjects - 但不知道我會怎樣去嘲諷模型的鏈接來響應代表ID的不同屬性。此外,我希望有更好的東西,因爲我真的不想爲模型類型之間的圖中的每條弧顯式定義模型。

回答

4

下面是怎麼樣的?

var Machine = Backbone.Model.extend({ 
    urlRoot:"/machines" 
}); 

var Project = Backbone.Model.extend({ 
    urlRoot:"/projects" 
}); 

var MachineProject = Project.extend({ 
    url: function() { 
    return this.machine.url() + Project.prototype.url.call(this); 
    }, 
    initialize: function(options) { 
    this.machine = options.machine; 
    } 
});