Linkowanie do ostatniej strony w paginacji oraz linki wewnątrz strony

Hej, potrzebuję wygenerować linka do ostatniej strony w paginacji. Uzywam will_paginate. Na razie robię to dodając ?page=last do linka i w application_controllerze w before_filter mam metodę, która liczy odpowiednią wartość params[:page]. Czy może jest ładniejsza metoda?

Druga sprawa, to linkowanie wewnątrz strony. Obecnie robię to tak:

= link_to "'Foo", bar_path + "#anchor_#{foo.id}"

Jest na to ładniejszy sposób?

A któryś z helperów will paginate tego nie robi?
http://gitrdoc.com/rdoc/mislav/will_paginate/b3b0f593ea9b1da13a64bc825dfe17b6bbc2828b/classes/WillPaginate/ViewHelpers.html

edit
Np ten:

   <%= will_paginate @products, :prev_label => "<<", :next_label => ">>" %>

Dzięki za odpowiedź, ale nie o to mi chodziło :wink:
Case jest taki, że mam na stronie głównej wyświetlić 5 ostatnio napisanych postów, z linkami do nich.

@slawosz: najpierw napisales: “potrzebuję wygenerować linka do ostatniej strony w paginacji” a ponizej: “mam na stronie głównej wyświetlić 5 ostatnio napisanych postów, z linkami do nich”.

Zdecyduj się co w końcu chcesz zrobić i napisz dokładnie o co chodzi :wink:

Chcę wyświetlić na stronie głównej linki do pięciu ostatnio dodanych postów. Jako, że jest to klasyczne forum, to posty wyświetlają się po x na stronie. Więc, aby wyświetlić dany post potrzebuję, by link prowadził do ostatniej strony wyświetlającej posty oraz, dodatkowo, strona się przewinęła do tego postu.

Mam nadzięję, że trochę mniej zagmatwałemteraz ;).

W kontrolerze, w metodzie która będzie wybierać 5 najnowszych postów musisz obliczyć ile stron z postami ma dany topic. Will_paginate to zrobi za Ciebie jeśli go odpowiednio wywołasz.
Ogólnie rzecz biorąc to możesz zrobić tak:

  link_to post.title, posts_url(:page => @posts.page_count, :anchor => "post-#{post.id}")

gdzie post to aktualny post z tej kolekcji 5 najnowszych postów a @posts to kolekcja powstała po wywołaniu #paginate, ew. WillPaginate::Collection.new

Jeśli chcesz gotowe rozwiązanie to wklej na gist’a kod: routes.rb, kontrolera, wszystkich modeli (Post/Topic) i widoku bo nie wiem jakie masz zależności pomiędzy Topic’iem a Post’em etc. żeby dokładnie napisać.