Mam dwie tabele: users, categories oraz modele dla nich: user, category. Dodatkowo utworzyłem tabele łączącą: categories_users zawierającą dwa pola: category_id i user_id.
Wszystko poustawiane i złączenie działa(has_and_belongs_to_many dla obu modeli). W danej kategorii dla akcji show chciałbym wyświetlać użytkowników, którzy do niej należą używając paginacji(stronicowania), pytanie jak to zrobić? Próbowałem ale się nie udaje :-/ Z góry dziękuje za odpowiedź
Zapytaj z drugiej strony asocjacji, masz wtedy pelna kontrole. Pytanie od strony kategorii ma sens przy niewielkich rozmiarach danych np. gdy chcemy wylistowac role do ktorych przynalezy user mozemy swobodnie @user.roles, lub dokonywac jakichs wstawien.
@categorized_users = User.find(:all,
:include => :categories,
:conditions => ["categories.id = ?", @category.id],
:order => "users.login",
:page => {:size => 10, :first => 1, :current => (params[:page] || 1)})
Uzywaj raczej (jak w ww. przykladzie) paginating_find niz defaultowe paginacje w Rails (kt. zreszta w 2.0 maja byc usuniete).