簡體   English   中英

Kaminari分頁

[英]Pagination with Kaminari

我見過的Kaminari的所有示例在控制器動作中只有1個變量。

但是這是我的例子:

  def index
    @draft_item = @account.draft_item # only ever one
    @in_force_item = @account.in_force_item # only ever one
    @historical_items = @account.lo_items.historical # many of these

    respond_to do |format|
      format.html
    end
  end

這些都顯示在視圖上的表格中,我想對其進行分頁。 我需要在索引操作中首先將它們組合成1個數組嗎?

我在視圖上的循環是這樣的:

 <% [@in_force_item, @draft_item, @historical_items].compact.flatten.each do |lo_item| %>

然后我有這樣的代碼:

<% if lo_item == @draft_item %>

這有可能並且仍然可以撥打上面的行>嗎?

多虧了以下答案,我才能夠做到這一點:

@total_items = Kaminari.paginate_array([@draft_item, @in_force_item, @historical_items].compact.flatten).page(params[:page]).per(10)

要使它全部起作用,必須全部放在一行上,這與下面的答案分成兩行的答案不同。

它是。 Kaminari具有paginate_array

@draft_item = @account.draft_item # only ever one
@in_force_item = @account.in_force_item # only ever one
@historical_items = @account.lo_items.historical

@total_items = [@in_force_item, @draft_item, @historical_items].compact.flatten

Kaminari.paginate_array(@total_items).page(params[:page]).per(10)

然后

<% @total_items.each do |lo_item| %>
<% end %>
<%= paginate @total_items %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM