类没有路径错误

时间:2016-03-06 16:14:56

标签: ruby-on-rails ruby

这应该可以正常工作:

#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)

1 个答案:

答案 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_atposted_at等日期时间(模型中的任何内容)而不是主键。