我使用Elastic Search来获取数据,并尝试使用Pagination gem在页面之间切换。但我目前正面临一个问题
<%= will_paginate @data %>
我收到错误
NoMethodError - undefined method `total_pages' for #<Array:0x007fdcfbd3f128>
因为数据是从Elastic Search
获取的,所以@data是一个数组而不是一个Active Record无论如何都要指定总页数,这样我仍然可以使用宝石。
答案 0 :(得分:0)
你的@data是一个数组而不是集合,所以要在数组上使用will_paginate
,你可以这样做:
require 'will_paginate/array'
然后:
@data.paginate(:page => 2, :per_page => 10)
会奏效。
来源:https://github.com/mislav/will_paginate/wiki/Backwards-incompatibility#willpaginatecollection