Я сейчас работаю над Rails 2.3.5. У меня есть модель Blog и Blog has_many комментарии. В моем комментарии для отображения комментария
views/comments/_comment.html.erb
<li class="depth-1">
<div class="comment-info">
<cite>
<a href="index.html"><%= comment.user.name %></a> Says: <br>
<span class="comment-data"><a title="" href="#"><%= comment.created_at.stftime('%B %d, %Y at %I:%M %p')%></a></span>
</cite>
</div>
<div class="comment-text">
<p><%= comment.content %></p>
<div class="reply">
<a href="index.html" class="comment-reply-link" rel="nofollow">Comment</a>
</div>
</div>
</li>
эта часть вызывается как из blogs / show.html.erb, так и comments / create.rjs. Частичное вызывается из представления шоу как таковое
<%= render :partial=>'comments/comment', @collection => @blog.comments %>
но когда я получаю доступ к своей ссылке localhost: 3000 / blogs / 6, я получаю следующую ошибку
NoMethodError in Blogs#show
Showing app/views/comments/_comment.html.erb where line #6 raised:
undefined method `name' for nil:NilClass
Extracted source (around line #6):
3:
4: <div class="comment-info">
5: <cite>
6: <a href="index.html"><%= comment.user.name %></a> Says: <br>
7: <span class="comment-data"><a title="" href="#comment-63"><%= comment.created_at.stftime('%B %d, %Y at %I:%M %p')%></a></span>
8: </cite>
9: </div>
Trace of template inclusion: app/views/blogs/show.html.erb
но атрибут пользователя хорошо определен и имя существует для всех пользователей.