在rails博客上显示ruby的所有评论

时间:2011-03-02 15:15:28

标签: ruby-on-rails

我是另一个Rails新手,并且已经关注创建博客的Ruby教程。

每个帖子都有很多评论,评论属于帖子。

我可以在各个博客中看到评论,并创建了一个显示个人评论的节目链接。

我真正想做的是为评论创建一个索引页面,显示所有这些内容。我在评论控制器中创建了一个索引操作:

 def index
     @title = "All comments"
     @comments = Comment.all
end    

附带的索引页

所有评论

<%@ comments.each do | comment | %GT;     评论:<%= @ comment.body%>

<%end%>

但是我收到了一个错误:

nil的未定义方法`body':NilClass

我的路线档案:

资源:帖子做     资源:评论   端

如果有人能指出我正确的方向,我真的很感激 - 我认为我的问题是我的评论嵌套在帖子中。

谢谢,

鲍勃

2 个答案:

答案 0 :(得分:1)

您应该使用传递到块中的comment

<% @comments.each do |comment| %> Comment: <%= comment.body %>

您目前正在调用@comment.body@comment为零,因为它在您的控制器和其他地方未定义。

答案 1 :(得分:1)

因此,在视图文件的循环中,您正在迭代@comments数组,为comment中的每个注释创建一个@comments对象。因此,请尝试

<% @comments.each do |comment| %> Comment: <%= comment.body %>