Ruby on Rails: как сделать кнопку перехода на следующую / предыдущую страницу для публикации? - PullRequest
0 голосов
/ 13 мая 2018

Мне нужно сделать кнопку «следующий / предыдущий» для страницы, на которой перечислены сообщения (без драгоценного камня).Я хочу ограничить его до 8 на страницу (от самых новых до самых старых).Для контроллера у меня есть это:

def index
    @links = Link.order(created_at: :desc).limit(8).offset(@page * 8)
end

private
def set_page
    @page = params[:page] || 0
end

В index.html.erb

<%= link_to 'Prev Page', page: -1.to_i %>
<%= link_to 'Next Page', page: +1.to_i %>

В нем перечислены 8 тем на первой странице, но когда я нажимаю следующую страницу, это простопустая страница.Я последовал за этим из другого поста, но я не уверен, что я пропустил.Спасибо

1 Ответ

0 голосов
/ 13 мая 2018

Посмотрите, если вы не хотите использовать gem, следуйте следующему коду, как в контроллере

before_action :set_page, only: [:index]
PAGE_SIZE = 8
def index
    @links = Link.order(created_at: :desc).offset(PAGE_SIZE * @page).limit(PAGE_SIZE)
end


private
def set_page
    @page = (params[:page] || 0).to_i
end

и в представлении

<nav>
    <ul class="pager">
        <li class="previous <%= page == 0 ? 'disabled' : '' %>">
            <%= link_to_if page > 0, "&larr; Previous".html_safe, your_index_path(page: page - 1) %>
        </li>
        <li class="next">
            <%= link_to "Next &rarr;".html_safe, your_index_path(page: page + 1) %>
        </li>
    </ul>
</nav>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...