我有两个模型:帖子和评论。每条评论都属于一个帖子。我想有一个所有评论的页面,而不仅仅是帖子的评论。我似乎无法让这个看似简单的事情发挥作用。
这是我的控制器:
def top
@topcomments = @comments.order("created_at desc")
end
我收到'未定义的方法顺序'错误。
答案 0 :(得分:2)
如果您想直接访问评论,而不是通过与其他模型的关系,则需要访问模型本身Comment
:
def top
@topcomments = Comment.order('created_at desc')
end
您如何获得每条评论的帖子
假设您在评论和帖子之间设置了正确的关系,您只需访问.post
每条评论。您可以使用includes(:post)
来避免n+1 problem。
def top
@topcomments = Comment.order('created_at desc').includes(:post)
@topcomments.each |comment|
comment.post # here is the post
end
end
答案 1 :(得分:1)
def top
@topcomments = Comment.order("created_at desc")
end