查找下一篇文章'基于位置整数

时间:2015-05-25 18:51:44

标签: ruby-on-rails

我有一个带有整数列的帖子模型,名为' position'手动订购它们。在帖子的展示页面上,我有更多帖子'部分@more_posts。

@more_posts = @comment.posts.where("posts.id NOT IN (?)", @post.id).order("position").limit(2) 

这给了我两个独特的帖子,但我不知道如何获得接下来的两个帖子而不是两个最高位置的帖子。假设当前的post.id是2,我喜欢@more_posts来获得帖子3和4.

(我使用postgresql是开发中的生产和sqlite。)

1 个答案:

答案 0 :(得分:0)

@more_posts = @comment.posts.where(id: [@post.id + 1, @post.id + 2])

@more_posts = @comment.posts.where("id > ?", @post.id).limit(2)

如果您按职位排序,请考虑:

@more_posts = @comment.posts.order(position: :asc).where("position > ?", @post.position).limit(2)