如何使用 Kaminari 按数字值对页面进行分页?

发布于 2024-11-30 17:31:39 字数 342 浏览 2 评论 0原文

我已经设置了 Kaminari,以便如果我这样做,它可以准确地按帖子标题分页:

def index
...
@posts = Post.order('title').page(params[:page]).per(5)
...
end

我也有 <% paginate %>;在视图中

,但如果我尝试这样的事情,

@posts = Post.order('pageviews').page(params[:page]).per(5)

它就会停止工作。没有错误或错误,但它似乎是任意排序的。可能按日期。怎么会?

I've set up Kaminari so that it can accurately paginate by post title if i do this:

def index
...
@posts = Post.order('title').page(params[:page]).per(5)
...
end

i also have <% paginate %> in the view

but if I try something like this

@posts = Post.order('pageviews').page(params[:page]).per(5)

it stops working. There are no bugs or errors, but it just appears to be sorted arbitrarily. Possibly by date. How come?

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

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

发布评论

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

评论(2

紫瑟鸿黎 2024-12-07 17:31:39

首先,如果没有Kaminari,排序是否正确?
我的意思是,Post.order('pageviews') 是如何排序的?

接下来,你能检查一下输出的SQL吗?
运行结果,它是如何排序的?

Post.order('pageviews').page(1).to_sql

如果您在数据库控制台上

Firstly, is it correctly sorted without Kaminari?
I mean, how is Post.order('pageviews') sorted?

Next, can you check the output SQL?
How is it sorted if you run

Post.order('pageviews').page(1).to_sql

result on your DB console?

锦上情书 2024-12-07 17:31:39

您可能需要在 order 子句中使用 desc 吗?因为目前它会先订购 0 个视图。

 Post.order('pageviews desc')

May be you need desc at order clause? because currently it will order 0 views first.

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