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

+0

да нет ответа до этого об этой библиотеке. Поэтому я ссылаюсь на него в вопросе – shingara

ответ

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

3

RTC: маршруты добавляются в app.routes, просто напишите аксессуар, который возвращает на нем итератор.

+0

Я действительно не успеваю прочитать Javascript-код :( – shingara

+0

Вы правы, но это сложнее, потому что маршруты - это хэш с ключевым глаголом и значением URL-адрес – shingara

+0

Я обновляю начальный ответ но не работает :( – shingara

Смежные вопросы