Na wstępie napiszę, że umiem problem rozwiązać, tylko mam wątpliwości co do jego poprawności. Być może grzesząc pychą nie doczytałem czegoś lub nie wygoglałem. Przejdźmy do rzeczy.
Mamy zadanie - stworzyć regułę routingu dla url: http://domena.pl/uzytkownicy, gdzie dodatkowo lista użytkowników jest paginowana, a numer strony podawany jako drugi segment, czyli druga strona wyników to http://domena.pl/uzytkownicy/2
Ok, proste.
Kod
users_list:
url: /uzytkownicy/:page
param: { module: users, action: index, page: 1 }
url: /uzytkownicy/:page
param: { module: users, action: index, page: 1 }
Wszystko jest generalnie ok, ale teraz wywołanie @users_list zawsze wygeneruje nam url biorąc pod uwagę domyślna wartość :page i będzie on wyglądał tak:
http://domena.pl/uzytkownicy/1
Teraz meritum sprawy - co jeśli chcę mieć wygenerowany link w postaci http://domena.pl/uzytkownicy ?
Potrzebuje drugiej regułki, np.
Kod
users_list2:
url: /uzytkownicy
param: { module: users, action: index, page: 1 }
url: /uzytkownicy
param: { module: users, action: index, page: 1 }
Dodanej wyżej niż ta z parametrem :page w urlu
Czy zna ktoś inny sposób rozwiązania tego problemu? Genialne wydaje takie zmodyfikowanie kodu, aby SF nie doklejało całego segmentu dla :page, gdy nie jest on podany jawnie do funkcji url_for() lub link_to() jako argument.
Pozdrawiam