我正在嘗試爲我最新的Rails項目使用Backbone,並且我面臨的最新問題是路由。骨幹路由器沒有正確路由「新」路由
對於我的Rails路由,我的用戶在登錄後進入/產品(index_products_path)。
所以,我創建了骨幹下列途徑。我打算爲不同的「頁面」(如邀請)創建其他Backbone路由器。
class Sample.Routers.ProductsRouter extends Backbone.Router
routes:
"" : "index"
":id" : "show"
":id/edit" : "edit"
"new" : "newProduct"
「mydomain.com/products」調出索引視圖。 「mydomain.com/products/#/1」或「mydomain.com/products#1」顯示產品ID爲1的顯示視圖。
現在,問題是「新」路徑。當我嘗試通過指向「mydomain.com/products#new」來調出「新」視圖時,服務器抱怨它找不到id = new的產品。
我真的不明白爲什麼會發生這種情況。當我追蹤錯誤堆棧時,我可以看到正在調用Sample.Routers.ProductsRouter.ProductsRouter.show
。似乎骨幹路由器不是正確的路由.....並且Rails服務器正在響應「id」= new的產品的「GET」請求........它可能是某種骨幹配置錯誤?
任何幫助將非常,非常感謝!
謝謝你,西蒙,快速回答!現在我覺得不知道很瑣碎的東西很愚蠢。 :( – yangtheman
無法保證這可以在任何地方(或任何地方)工作,JavaScript對象是無序的,所以你看到的任何順序都是偶然的。如果你需要按特定順序檢查你的路由,那麼你必須手動添加它們['route'](http://backbonejs.org/#Router-route)調用 –
@ muistooshort按標準來看,雖然每個實際的瀏覽器都按照順序依次循環一個對象(Chrome對這個有一個bug早在2008年,如果我是正確的)我認爲要堅持當前的標準,最好的做法是用名字命名任何路由變量,例如'product /:id' –