<%= link_to 'Previous Post', blog_path(@post).previous if @post.previous %>
<%= link_to 'Next Post', blog_path(@post).next if @post.next %>
我在这里很困惑,伙计们。 next
有效,但previous
给了我错误undefined method 'previous' for "/blog/4":String
def next
Post.where("id > ?", id).first
end
def previous
Post.where("id < ?", id).last
end
如果我将单词previous
切换为last
,则错误会消失,但不会链接到上一个帖子,而是链接到当前帖子。
答案 0 :(得分:1)
您在previous
方法上调用next
和blog_path
,该方法只返回普通String
。
您需要确保在@post
上调用它:
blog_path(@post.previous)