2013-04-16 60 views
0

我將Rails和Backbone.js應用程序部署到一個suburi。預先申請suburi的最佳方法是什麼?骨幹網址的根路徑(Backbone.js在suburi中被刪除)

示例:應用程序部署到www.example.com/app。我有一個資源users,我希望骨幹呼叫www.example.com/app/users而不是默認的www.example.com/users

我在服務器端設置了ROOT_URI變量,我打算在主幹應用中使用它。簡單的方法是將其添加到模型和集合中的所有URL中,但它很乏味且容易出錯。我該怎麼辦?覆蓋Backbone.sync

回答

2

您可以在獲取調用

示例轉發URL

model.fetch({ 
      url: yourServiceURL, 
      success: function (response, xhr) 
      { 
       //console.log("Successfully Fetched..."); 

      }, 
      error: function() 
      { 
       //console.log("Error Occurred..."); 

      } 
     }); 
這樣你不必在你的模型和集合定義URL

編輯 我從你的評論中瞭解到的。你可以做這樣的事情

yourModel = Backbone.Model.extend({ 
     url:function() { 
      return yourGlobalVarForRootURI+"/staticLogicalPathForEachModel"; 
     }, 
     parse: function (response) { 

      return response; 
     } 

}); 
這樣

你可以給您的所有型號/集的yourGlobalVarForRootURI變量,因此將所有型號/收集來改變可以改變這個全局變量。我希望它能解決你的問題

+0

謝謝,但這種方式我必須更關心根URL:每次我抓取或保存,而不是每個模型/集合重寫一次時,我必須記住它。我想要做的是爲每個應用程序設置一次根路徑,以便所有模型和集合自動使用它。 – mrzasa

+0

我編輯了我的答案。請檢查編輯部分,並讓我知道如果我仍然不明白你的觀點:) – muneebShabbir

+1

最後我做了類似於你的建議。我將應用程序suburi設置爲全局變量,並使用輔助函數在骨幹網中預先設置所有網址。 – mrzasa