使用will_paginate查找条目所在的页面

时间:2012-11-22 22:34:52

标签: sql ruby-on-rails ruby ruby-on-rails-3 will-paginate

我正试图找一种方法来告诉will_paginate给定一个对象开始的页面,我在找到任何文档时遇到问题(也许在will_paginate中没有方法?)。

这是我的情景:

我显示项目的页面有2列,左侧列使用will_paginate一次显示25个项目。

当用户点击电子邮件按钮时,我会生成包含指向该特定项目的重新进入链接的出站电子邮件。链接路由到我的索引页面并传递我想要的对象的ID但我需要告诉will_paginate要呈现的页面,因为该项目可以存在于页面1,2,3等...

我知道我可以找到所有项目,然后找到我当前项目的排名并做一些数学但是我想知道是否有更好的方法,即will_paginate有任何有趣的方法来做这样的事情?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,我知道了。 对我提出类似的问题,以我为例:-

与我合作

@posts = Post.all.order_by(:created_at)

@post = @posts.find_by(id: params[:id])

total_posts_count = @posts.where("posts.created_at <= ?", @post.created_at).count

@page = (total_posts_count/per_page.to_f).ceil

@posts = @posts.paginate(per_page: per_page, page: @page)

这里的逻辑...

total_posts = 50
per_page = 25

50/25 = 2