3

当我将 will_paginate 分页列表放入 twitter 引导选项卡时。它只是列出了它们之间的分页链接。我正在使用 will_paginate-bootstrap 来设置分页样式。

我已经尝试过不使标签起作用:

去掉分页样式

删除分页块

如果我删除所有 ruby​​ 选项卡工作,所以他们独立工作

<div class="tabbable">
  <ul class="nav nav-tabs">
    <li class="active"><a href="#A" data-toggle="tab">Newest</a></li>
    <li><a href="#B" data-toggle="tab">Activity</a></li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane active" id="A">
      <%= render partial: "posts/post", collection: @posts, as: :post %>
      <%= will_paginate @posts, renderer: BootstrapPagination::Rails %>
    </div>
    <div class="tab-pane" id="B">
      <%= render partial: "posts/post", collection: @posts_by_activity, as: :post %>
      <%= will_paginate @posts_by_activity, renderer: BootstrapPagination::Rails %>         
    </div>
  </div>
</div>
4

2 回答 2

1

您使用的是哪个版本的 Rails?我正在使用 3.2.17,我在使用 Bootstrap 3 选项卡和 will_paginate 时遇到了一些问题,但从它的声音来看,与您不同。

这就是我正在做的事情:

<ul class="nav nav-tabs">
  <li class="active"><a href="#announcements" data-toggle="tab"><i class="fa fa-exclamation-circle"></i> Announcements</a></li>
  <li><a href="#activity" data-toggle="tab"><i class="fa fa-bar-chart-o"></i> Site activity</a></li>
</ul>

<div class="tab-content">
  <div class="tab-pane fade in active" id="announcements">
    <%= render 'announcements' %>
  </div>

  <div class="tab-pane fade" id="activity">
    <%= render 'activity' %>
  </div>
</div>  

我有:

<%= will_paginate @announcements, renderer: BootstrapPagination::Rails %>

每个部分都有一点。对我来说,partials 是不同的信息,所以我在 features#index 控制器动作中为每一个都有实例变量。您是否尝试过为每个这样的部分制作单独的部分以查看是否有效?

分页导航按预期工作,但是,单击另一页内容会添加 ?page=# 查询字符串:

 http://localhost:3000/features?page=2

然后这适用于两个选项卡。因此,如果我想查看“公告”选项卡的第 2 页,单击“站点活动”选项卡可以直接转到第 2 页,因为查询字符串永远不会改变。恼人的。

于 2014-04-23T00:40:51.810 回答
1

使用 will_paginate gem 的选项卡特定页面是可能的。

请参阅http://blog.devinterface.com/2011/08/tips-multiple-pagination-with-will_paginate/

如果链接过时,请在此处复制相同的内容(进行一些简化):

在视图中:

  <%= will_paginate @products, :param_name => 'products_page' %></p>
  <%= will_paginate @services, :param_name => 'services_page' %><br />

在控制器中:

@products = current_company.products.paginate(:page => params[:products_page], :per_page => 10)<br />
@services = current_company.products.paginate(:page => params[:services_page], :per_page => 10)<br />

从上面的代码可以看出,关键在于发送不同的参数键值(双关语!)。这样,两个选项卡的页面信息都会附加到 URL。

于 2015-08-13T14:56:29.657 回答