在我的show.html.erb文件中,我有两个下一个和上一个链接,如此
<%= link_to("Previous Post", @question.previous) if @question.previous %>
<%= link_to("Next Post", @question.next) if @question.next %>
.previous和.next是我模型中找到当前id + 1或-1的方法
在我的模型中是这样的
def previous
Question.find_by_id(id - 1, :select => 'id')
end
def next
Question.find_by_id(id + 1, :select => 'id')
end
但是我没有盲目地递增和递减,因为我可能删除了一个“问题”,因此我会收到错误,我是否可以从查询范围中找到显示操作的下一个/上一个“问题”?
答案 0 :(得分:1)
你尝试过这样的事吗?
def previous
Question.limit(1).order("id DESC").where("id < ?", id)
end
def next
Question.limit(1).order("id DESC").where("id > ?", id)
end
答案 1 :(得分:0)