如何将帖子分成页面,以便每个页面只有10个项目?

时间:2013-03-31 23:29:01

标签: ruby-on-rails

如果我生成一个脚手架,在索引页面中,它会列出数据库中的所有数据。如果我只需要10个帖子/页面,并且在底部有一个页面1,2,3,...单击,该怎么办?此外,我不想检索所有数据并使用javascript将它们分成页面。我想查询10个帖子,如果有人点击第2页,它会启动另一个查询。

没有插件的任何想法?

2 个答案:

答案 0 :(得分:1)

你可以使用Kaminari宝石

https://github.com/amatsuda/kaminari

然后将控制器设置为通过JS进行响应,并使用AJAX更新页面。

修改

如果你想自己写,你可以这样做。

def index
   page = params[:page] ? params[:page] || 0
   @posts = Post.limit(10).offset(10*page)
   count = Post.count
end

然后在您的视图中,您将使用计数为

创建链接
/posts through /post?page=#{(count/10) - 1}

答案 1 :(得分:0)

可能你必须使用分页,你可以看看这个 https://github.com/mislav/will_paginate http://railscasts.com/episodes/254-pagination-with-kaminari, 这就是普通人所做的事情,它会为你带来好处:)

你可以看看这个 http://www.nullislove.com/2007/05/24/pagination-in-rails/ 你可以自己卷起来。