Ruby on rails 在模型中查找下一条记录

Ruby on rails 在模型中查找下一条记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个Post模型,它属于a组模型组-s可以有多个Posts。每个Post都有一个与之关联的编号(1-5),每个Group都有五个编号为1-5的Post。我想要一个“上一步/下一步”按钮滚动查看组中的每个Post 这就是我到目前为止所做的: post.rb def next_post Post.where(group_id: group.id).find_each do |post| post.where("number > ?", number).first end e

我有一个
Post
模型,它
属于
a
模型<代码>组
-s可以有多个
Post
s。每个
Post
都有一个与之关联的编号(1-5),每个
Group
都有五个编号为1-5的Post。我想要一个“上一步/下一步”按钮滚动查看
组中的每个
Post

这就是我到目前为止所做的:

post.rb

def next_post
  Post.where(group_id: group.id).find_each do |post|
    post.where("number > ?", number).first
  end
end
<%= link_to "Next", group_post_path(@group, @post.next_post.first) %>
posts/show.html.erb

def next_post
  Post.where(group_id: group.id).find_each do |post|
    post.where("number > ?", number).first
  end
end
<%= link_to "Next", group_post_path(@group, @post.next_post.first) %>

对于#
,我得到一个错误
未定义的方法“where”


不太确定要做什么

下一篇文章可以是:

def next_post
  group.posts.where("number > ?", number).order(:number).first
end
以及以下观点:

<%= link_to "Next", group_post_path(@group, @post.next_post) %>

下一篇文章可以是:

def next_post
  group.posts.where("number > ?", number).order(:number).first
end
以及以下观点:

<%= link_to "Next", group_post_path(@group, @post.next_post) %>

您也可以使用gem,它提供了许多设施,包括您的需求。它非常方便,您可能需要检查post,如果它是最后一个或第一个,则它们各自的上一个和下一个不应出现,否则将生成错误。

您也可以使用gem,它提供了许多功能,包括您的需求。这真的很方便,你可能需要检查后,如果它是最后一个或第一个,然后他们各自的前一个和下一个不应该出现,否则它会产生错误