这应该可以正常工作:
#comment.rb
def next
self.class.where("id > ?", id).first
end
#comments_controller.rb
def show
find_comment
@next_comment = @comment.next
end
#show.html.haml
= link_to "next", @next_comment
#routes.rb
resources :articles do
resources :comments
end
我收到undefined method comment_path
错误。
我错过了什么?如果有任何我没有提供的文件,请告诉我。
更新:
好的,感谢@pascal betz,它会转到正确的网址。我现在得到的错误是undefined method article for nil:NilClass
,指向显示页面中的按钮行:
= link_to 'Next', article_comment_path(@next_comment.article, @next_comment)
答案 0 :(得分:1)
您的comments
嵌套在articles
下。
您可以像这样创建链接:
link_to 'next', [@next_comment.article, @next_comment]
或
link_to 'next', article_comment_path(@next_comment.article, @next_comment)
这将创建一个类似
的网址 articles/123/comments/456
其中123是文章ID,456是评论ID。
关于查找下一条评论:我可能会使用created_at
或posted_at
等日期时间(模型中的任何内容)而不是主键。