0

我有 3 个模型:帖子、评论和问题。评论属于帖子,问题属于评论。尝试在帖子显示页面上显示属于评论的最后一个问题时出现错误。这是错误:

undefined method `[]' for nil:NilClass

这是给出错误的行,该错误位于帖子显示页面调用的部分 _comment.html.erb 中。

<%= comment.questions.last[:body] %>   

我怀疑该错误与它显示在帖子页面上的事实有关,因为

  <%= post.comments.last[:body] %>

做我想做的事。

谢谢您的帮助。

4

2 回答 2

0

您是否已将 <%= render 'comment' %> 添加到您的帖子展示页面?

于 2013-09-21T21:42:59.117 回答
0

如果评论没有问题,那么comment.questions.last将是nil并且调用[:last]它会引发错误。尝试这个

  comment.questions.last.try(:[],:body)

try如果调用它的对象为 nil,则方法返回nil,否则它会评估传递给它的对象上的方法。

于 2013-09-21T21:56:50.237 回答