Filtrowanie

Witam.

Mam tabele pracownicy. Id, imie, nazwisko, dział.
Mam tabele działy. Id, nazwa
Standardowa relacja 1-n.

Na stronie wyświetlam wszystkich pracowników: imie, nazwisko, nazwa dzialu.
Pracowników jest wielu, wiec jest zrobione stronicowanie za pomocą will_paginate.

Problem jest taki, ze nie wiem jak zrobić taka funkcjonalność.
Na górze strony z lista pracowników jest select_tag z lista działów.
Chce po wybraniu dzialu wyswietlic pracownikow danego działu.
Monza to zrobić za pomocą form_remote_for i ajaksem wstawić pracowników w odpowiednie miejsce na stronie.
Ale co ze stronicowaniem. Teraz mam tak ze po wybraniu dzialu, wyswietla sie lista pracownikow danego dzialu a po kliknieciu na nastepna strone to will paginate nie uwzglednia faktu ze wybrany jest konkretny dzial, i wyswietla wszystkich pracownikow.

Zastanawiam sie czy dobrym sposobem jest zapisanie wyboru dzialu do cookie a przy will_paginate sprawdzenie jai byl wybor dzialu i odpowiednie wyszukanie osob z danego dzialu.
Nie wiem za bardzo jak podejsc do tego problemu.
Moze ktos cos podpowiedziec.

Pozdrawiam

Do will_paginate możesz przekazać hasz parametrów, zobacz tutaj.

":params — additional parameters when generating pagination links (eg. :controller => “foo”, :action => nil) "

Z reguły wystarczy :params => params.merge(:deparment_id => params[:department_id]) (na przykład)

W sumie params.merge(:deparment_id => params[:department_id]) to to samo co params :slight_smile:

Więc wystarczy jeśli dasz :params => params

Dzieki wielkie, tego szukałem własnie.

Pozdrawiam