首页 > 解决方案 > Pagy gem:UI 小部件的放置打破了分页

问题描述

我在 Rails 5 项目中使用 Pagy gem 进行分页。分页本身工作正常,但是当我在视图文件中的 pagination(pagy_nav(@pagy)) 块上方添加 UI 小部件(由 pagy: pagy_items_selector(@pagy) 提供)时,它会破坏页面链接。示例:http://www.localhost:3000/articles?page=5¤t_param=-pagy-2370055651028177601--items-

相反,如果我将分页(pagy_nav)放在项目选择器(pagy_items_selector)上方,则 url 很整洁,并且就像一个魅力。示例:http://www.localhost:3000/articles?page=4¤t_param=4

这是我的html代码-

<div class="items_per_page">
  <!-- Pagy UI widget for users to select items per page -->
  <%= pagy_items_selector(@pagy).html_safe %>
</div>

<!-- displaying a list of article titles -->
<% @articles.each do |article| %>
  <div class="row justify-content-md-center newsbox">
    <div class="article-content">
      <div class=" panel-title">
        <%= link_to article.title, article_path(article) %>
      </div>
    </div>
  </div>
<% end %>

<!--Pagy Nav links -->
<div class="pager">
  <!-- Pagination nav links -->
  <%= pagy_nav(@pagy).html_safe %>
</div>

标签: ruby-on-rails

解决方案


这是一个 Pagy 错误,请参阅 #117。它已在 Pagy 版本 1.3.1 中修复。

更新您的 Gemfile 应该可以解决问题:

bundle update pagy

如果没有,请检查 Gemfile 中所需的 gem。它应该是这样的:

gem 'pagy', '~> 1.3` # or '1.3.1'

并再次更新。


推荐阅读