如果我生成一个脚手架,在索引页面中,它会列出数据库中的所有数据。如果我只想要 10 个帖子/页面,并且在底部有一个页面 1、2、3,... 可以点击怎么办。另外,我不想检索所有数据并使用 javascript 将它们分成页面。我想查询 10 个帖子,如果有人点击第 2 页,它会启动另一个查询。
没有插件的任何想法?
如果我生成一个脚手架,在索引页面中,它会列出数据库中的所有数据。如果我只想要 10 个帖子/页面,并且在底部有一个页面 1、2、3,... 可以点击怎么办。另外,我不想检索所有数据并使用 javascript 将它们分成页面。我想查询 10 个帖子,如果有人点击第 2 页,它会启动另一个查询。
没有插件的任何想法?
您可以使用 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}
可能你必须使用分页,你可以看看这个 https://github.com/mislav/will_paginate http://railscasts.com/episodes/254-pagination-with-kaminari,这是老百姓做的,它会为你处理得很好:)
你可以看看这个 http://www.nullislove.com/2007/05/24/pagination-in-rails/ 你可以自己卷起来。