Kaminari分页范围问题

发布于 2024-12-01 21:25:34 字数 316 浏览 2 评论 0原文

在 Kaminari 中,这是有效的:

<%= paginate @posts %>

但是如果我做了类似的事情:

<%= paginate @user.posts %>

我得到了

undefined method `current_page' for #<Class:0x58378e0>      

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

In Kaminari, this works:

<%= paginate @posts %>

But if I do something like:

<%= paginate @user.posts %>

I get

undefined method `current_page' for #<Class:0x58378e0>      

How do I fix this? I heard inherited_resources helped, but I don't know how to use it to fix this bug.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

骷髅 2024-12-08 21:25:34

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

   @posts = Post.page(2).per(50)

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

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

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

Because in the first version @posts was probably the result of running something like

   @posts = Post.page(2).per(50)

So Kaminari returned an array like object, which paginate helper method expects.

When you call @user.posts directly you are in fact just loading a plain old ActiveRecord association.

The short answer is that you need to let Kaminari generate the variable you are in fact using with the paginate helper method

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文