2010-10-07 89 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