我有3个模型:帖子,评论和问题。评论属于帖子,问题属于评论。我在尝试显示属于帖子显示页面上的评论的最后一个问题时收到错误。这是错误:
undefined method `[]' for nil:NilClass
以下是给出错误的行,该错误位于由帖子显示页面调用的部分_comment.html.erb中。
<%= comment.questions.last[:body] %>
我怀疑这个错误与它自
以来显示在帖子页面上的事实有关 <%= post.comments.last[:body] %>
做我想要的。
感谢您的帮助。
答案 0 :(得分:0)
您是否添加了&lt;%= render'评论'%&gt;到你的帖子显示页面?
答案 1 :(得分:0)
如果评论没有问题,则comment.questions.last
将为nil
,并且在其上调用[:last]
会引发错误。试试这个
comment.questions.last.try(:[],:body)
try
方法返回nil
如果调用它的对象是nil,则它会评估在对象上传递给它的方法。