在这种情况下如何使用分页?

时间:2013-01-10 07:48:26

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

我正在使用名为'acts_as_follower''kaminari'的宝石。
如果我将.page(params[:page]).per(10)放在使用acts_as_follower获取记录的行的末尾,则会返回错误。所以我删除了它 如何使用此宝石'acts_as_follower'进行分页?

错误

NoMethodError in UsersController#following
undefined method `page' for #<Array:0x00000018593928>

Extracted source (around line #53):

50: <% end %>
51: 
52: <div class='pagination'>
53:     <%= page_entries_info(@users).html_safe %>
54:     <%= paginate @users, :window => 4, :outer_window => 5, :left => 2, :right => 2 %>
55: </div>
56: 

当前 users_controller.rb 提取部分

@users = User.find_by_username(params[:id]).all_following(order: 'updated_at DESC')

1 个答案:

答案 0 :(得分:1)

由于all_following(order: 'updated_at DESC')方法返回一个数组对象,您需要使用Kaminari的PaginatableArray

将以下代码添加到您的控制器:

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

然后分页应该按照你的预期工作。