will_paginate on array 仅显示项目的第一页

will_paginate on array only displays first page of items

我需要对数组进行分页。当我单击其他页面时,我看到与第一页上显示的相同的 25 个项目。 URL 是 http://localhost:3000/?page=2 但它是相同的 25 个项目。总共约有100个。

这是我的控制器方法:

def index
  @items = Array.new
  API.items.all! do |i|
    @items << i
  end
  @paginated_items = @items.paginate(per_page: 25)
end

这是我的 html 文件:

<%= will_paginate @paginated_items %>

<ul class="items">
  <% @paginated_items.each do |i| %>
    <li>Subject: <%= i.subject %>, ID: <%= i.id %></li>
  <% end %>
</ul>

<%= will_paginate @paginated_items %>

我还向初始化程序添加了 require 'will_paginate/array'

我想你在索引控制器中缺少 page: params[:page],这就是 will_paginate 知道你现在是哪个页面的方式

def index
  @items = Array.new
  API.items.all! do |i|
    @items << i
  end
  @paginated_items = @items.paginate(page:params[:page],per_page:25)
end