我是另一个Rails新手,并且已经关注创建博客的Ruby教程。
每个帖子都有很多评论,评论属于帖子。
我可以在各个博客中看到评论,并创建了一个显示个人评论的节目链接。
我真正想做的是为评论创建一个索引页面,显示所有这些内容。我在评论控制器中创建了一个索引操作:
def index
@title = "All comments"
@comments = Comment.all
end
附带的索引页
<%@ comments.each do | comment | %GT; 评论:<%= @ comment.body%>
<%end%>
但是我收到了一个错误:
nil的未定义方法`body':NilClass
我的路线档案:
资源:帖子做 资源:评论 端
如果有人能指出我正确的方向,我真的很感激 - 我认为我的问题是我的评论嵌套在帖子中。
谢谢,
鲍勃
答案 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 %>