2010-10-07 34 views
0

Sammy.js是javascript中的控制器庫。但有時候我們有一個404,因爲我們的路線似乎不適用於sammy。查找定義的sammy.js路由列表

如何知道哪些路由由Sammy.js在頁面中定義?

就像軌道上的紅寶石'rake routes

像答案我們可以搜索app.routes。所以,我有一些像咖啡腳本:

jQuery.each app.routes, (r) -> 
    console.log(JSON.stringify(r)) 
    jQuery.each app.routes[r], (u) -> 
    console.log(JSON.stringify(u)) 

或JS

jQuery.each(app.routes, function(r) { 
    console.log(JSON.stringify(r)); 
    return jQuery.each(app.routes[r], function(u) { 
    return console.log(JSON.stringify(u)); 
    }); 
}); 

但它不是輸出好的路線我在輸出:

"get" 
0 
1 
"post" 
0 
1 
2 
etc... 

所以它的代碼做?

+0

的路由是我說的! ;)(我不知道我幾乎是一個控制器庫;)) – samy 2010-10-07 13:16:48

+0

是的,這個庫之前沒有答案。所以我把它鏈接在問題 – shingara 2010-10-07 13:18:03

回答

3

你可以嘗試這樣的事情

var app = $.sammy.apps['body']; 

jQuery.each(app.routes, function(verb, routes) { 
    jQuery.each(routes, function(i, route) { 
    console.log(route.verb, route.path); 
    }); 
}); 
+0

它的作品像一個魅力,非常感謝 – shingara 2010-10-08 13:51:23

3

RTC:路由被添加到app.routes,只需編寫一個訪問器,它將返回一個迭代器。

+0

我真的沒有成功讀取一些Javascript代碼:( – shingara 2010-10-07 13:33:56

+0

你是對的,但它更復雜,因爲路由是一個哈希關鍵詞動詞和值的網址 – shingara 2010-10-07 13:49:11

+0

我更新了一個開始的答案但不起作用:( – shingara 2010-10-07 14:04:11