如何使用 Kaminari 按数字值对页面进行分页?
我已经设置了 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,如果没有Kaminari,排序是否正确?
我的意思是,
Post.order('pageviews')
是如何排序的?接下来,你能检查一下输出的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
result on your DB console?
您可能需要在 order 子句中使用
desc
吗?因为目前它会先订购 0 个视图。May be you need
desc
at order clause? because currently it will order 0 views first.