【问题标题】:Kaminari: Objects do not shift from second page to first page when objects on first page is removedKaminari:删除第一页上的对象后,对象不会从第二页移动到第一页
【发布时间】:2012-05-07 03:43:45
【问题描述】:

我使用 Kaminari 为我的 Rails 3.2.0 网站分页。我通过使用 <% if !traveldeal.expired? %> 过滤它来隐藏我的交易对象,使其不显示在视图上,其中 expired 是一个布尔值。

我每页显示 9 个旅行交易,如我的控制器中所示的索引操作:

def index
  @traveldeals = Traveldeal.order('created_at DESC').page(params[:page]).per(9)
end

最初,分页效果很好,每页显示 9 个旅游优惠。但是,当我手动将第一页的 traveldeals 设置为 expired 时,设置为 expired 的 traveldeals 不再显示在第一页,但有空白,第二页的元素不会向上移动。

唯一的其他相关信息是我有以下sn-p来显示分页:

<%= paginate @traveldeals %>

我的问题:

如何使第二页中的元素向上移动以填充第一页中的元素,因为它们被设置为过期?

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 pagination kaminari


    【解决方案1】:

    由于 kaminari 在您的视图中不会知道您的条件,因此您应该在查询期间过滤掉过期的项目。假设您有一个布尔值 expired 列:

    @traveldeals = Traveldeal.where(:expired => false).order('created_at DESC').page(params[:page]).per(9)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2014-03-22
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多