Связывание с тегами привязки с помощью will_paginate в Rails 3.0.10 - PullRequest
0 голосов
/ 20 декабря 2011

Я создаю веб-форум.Есть страница со списком тем, и название каждой темы ссылается на страницу с сообщениями об этой теме.

На странице тем я хотел бы иметь возможность перейти к последнему сообщениюв теме.Каждый пост имеет номер вверху, соответствующий порядку, в котором он был создан.Номер является якорем.

Код, который у меня работает, работает отлично, и ссылка «Последнее сообщение» на странице тем ведет прямо к правильному сообщению на странице сообщений ... если сообщение не выходит за пределы первой страницы.сообщений.Я не могу отобразить часть URL-адреса '? Page = x'.

Все мои исследования показывают, что this - это способ получить гем will_paginate для прохожденияпараметр страницы.Однако, похоже, он не работает в моем проекте.

Это мой действительный код нумерации страниц на странице сообщений:

<%= will_paginate @posts, :params => {:anchor => i} %>

, где 'i' - это переменная, представляющая сообщениечисла.

Я не уверен, есть ли новый способ сделать это с самой последней версией will_paginate, или я что-то упустил.

РЕДАКТИРОВАТЬ

Вот код, в котором якоря создаются на странице сообщений (у меня есть несколько вложенных маршрутов):

<%= link_to(i, subject_topic_path(@subject, @topic, :anchor => i), {:name => i}) %>

А воткод на странице тем, которая ссылается на якорь (это часть оператора for):

      <%= link_to "Last Post Created:", subject_topic_path(s.subject, s, :anchor => s.posts.count)%>

Ответы [ 2 ]

0 голосов
/ 24 декабря 2011

Я решил проблему, передав параметр: page, где я ссылаюсь на последнее сообщение. Так оно и есть:

      <%= link_to "Last Post Created:", subject_topic_path(s.subject, s, :page => x, :anchor => s.posts.count)%>

Теперь она всегда отображает страницу в URL. Как отметил Эндрю, это не обязательно для ссылок на первой странице и немного нежелательно, но ссылки работают, поэтому я возьму это. Большая проблема заключается в том, что мне нужно было поместить код ruby, где я выясняю, что такое «х» в представлении. Тьфу.

Я чувствую, что есть лучший способ сделать это ... но это пока подойдет.

0 голосов
/ 20 декабря 2011

Точно так же, как вы знаете, вам не нужно, чтобы часть? Page = x отображалась на странице 1. Будет ли paginate обрабатывать: page => nil так же, как: page => 1, поэтому, если у вас нет конкретная причина показать, что:

<%= will_paginate @posts %>

будет работать просто отлично.

...