数组上的will_paginate仅显示项目的第一页

时间:2017-07-19 04:47:38

标签: ruby-on-rails will-paginate

我需要对数组进行分页。当我单击其他页面时,我看到第一页上显示的相同的25个项目。该网址为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'

1 个答案:

答案 0 :(得分:2)

我认为你错过了页面:索引控制器中的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