【问题标题】:NoMethodError at /group_messages/64 undefined method `name' for nil:NilClass/group_messages/64 处的 NoMethodError 未定义方法“名称”为 nil:NilClass
【发布时间】:2013-11-29 13:34:10
【问题描述】:

我想在 group-message-cmets 旁边显示用户名。但我在 show.html.erb 上的“”附近有一条错误消息。我该如何解决这个问题? 我不明白为什么会发生这个错误,因为我在 group_message_comment.rb 上放了“belong_to”,而会员模型有“name”列。

☆show.html.erb(group_messages 控制器)

<p><b>Comments:</b></p>
<ul>
<% if @group_message.group_message_comments.any? %>
<% @group_message.group_message_comments.each do |comment| %>
<li>
<%= comment.content %> (by <%= comment.member.name %>)
</li>
<% end %>
<% else %>
<li>no comment yet.</li>
<% end %>
</ul>

☆member.rb

  has_many :friends
  has_many :messages
  has_many :comments
  has_many :group_in_members, :dependent => :destroy
  has_many :groups, :through => :group_in_members
  has_many :group_message_comments
  has_many :group_messages

☆group_message_comment.rb

belongs_to :member
belongs_to :group_message

【问题讨论】:

  • 错误信息是什么?

标签: ruby-on-rails ruby-on-rails-3 model


【解决方案1】:

当没有成员发表特定评论时会发生这种情况。

在此处添加条件:

(by <%= comment.member ? comment.member.name : "Unknown" %>)

【讨论】:

  • Thaha kp 先生,非常感谢。我成功了,并学到了一件重要的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
  • 2013-04-25
  • 2015-12-20
  • 2013-11-14
  • 2013-01-14
  • 2017-10-02
  • 1970-01-01
相关资源
最近更新 更多