当我尝试访问部分数据时,我收到一个奇怪的错误。
我有一个模型在网络上保存数据。每个网络都有消息,每条消息都有注释。
在我的网络中,我渲染部分消息列表
<%= render :partial => 'messages/message', :collection => @messages %>
随后使用ajax加载消息的内容。在消息部分我呈现评论。
<%= render :partial => 'message_comments/message_comment', :collection => @message.message_comments %>
布局相对简单:
<li class="add_class_here">
<%= message_comment.created_at %>
<br />
<b><%= message_comment.user.name %></b> - <%= message_comment.description %>
<hr />
</li>
但是message_comment.user.name返回错误
NoMethodError - undefined method `name' for nil:NilClass:
app/views/message_comments/_message_comment.html.erb:4:in `_app_views_message_comments__message_comment_html_erb___1723361338866444823_70363099486800'
此外,我尝试将创建日期呈现为
<%= message_comment.created_at.strftime("%d %b. %Y") %>
导致
NoMethodError - undefined method `strftime' for nil:NilClass:
app/views/message_comments/_message_comment.html.erb:2:in `_app_views_message_comments__message_comment_html_erb___1723361338866444823_70363098972860'
在控制台中,我按预期获得输出,因此模型连接正常。也没有空值。如果我删除strftime或名称我得到正常输出 这是怎么回事?