Kaminari分页范围问题

Jon*_*Jon 0 ruby pagination ruby-on-rails ruby-on-rails-3 kaminari

在 Kaminari 中,这是有效的:

<%= paginate @posts %>
Run Code Online (Sandbox Code Playgroud)

但如果我做类似的事情:

<%= paginate @user.posts %>
Run Code Online (Sandbox Code Playgroud)

我明白了

undefined method `current_page' for #<Class:0x58378e0>      
Run Code Online (Sandbox Code Playgroud)

我该如何解决?我听说继承资源有帮助,但我不知道如何使用它来修复这个错误。

Cod*_*lan 5

因为在第一个版本中@posts可能是运行类似的结果

   @posts = Post.page(2).per(50)
Run Code Online (Sandbox Code Playgroud)

所以 Kaminari 返回了一个类似数组的对象,这是paginate辅助方法所期望的。

当您直接调用时,@user.posts您实际上只是加载一个普通的旧 ActiveRecord 关联。

简短的答案是,您需要让 Kaminari 生成您实际上使用paginate辅助方法使用的变量