做一个活动报名模块。 显示活动信息时 c 端代码
def show
@event.view!
@reglists = @event.reglists.all
@reglist = @event.reglists.build
end
V 端代码显示报名列表
<% @event.reglists.each do |reg| %>
<tr>
<td><%= reg.user.name %></td>
<td><%= reg.regnum %></td>
<td><%= reg.phonenum %></td>
<td><%= reg.remark %></td>
</tr>
<% end %>
页面报错信息
NoMethodError at /events/9
undefined method `name' for nil:NilClass
调试信息
>> @event.reglists.each
=> #<Enumerator: [#<Reglist id: 3, event_id: 9, phonenum: "111111", remark: "111", created_at: "2015-06-03 19:44:19", updated_at: "2015-06-03 19:44:23", regnum: 2, user_id: 3, sex: nil>, #<Reglist id: 2, event_id: 9, phonenum: "182222222", remark: "此路线走过几次,GPS轨迹辅助,此路线不设收队。欢迎大神认路认领:领队、收队。报名时备注体能和A、B...", created_at: "2015-06-03 19:43:54", updated_at: "2015-06-03 19:43:59", regnum: 1, user_id: 2, sex: nil>, #<Reglist id: nil, event_id: 9, phonenum: nil, remark: nil, created_at: nil, updated_at: nil, regnum: nil, user_id: nil, sex: nil>]:each>
也就是说,在显示报名列表时候,@event.reglists.all 也会将@reglist 显示出来,如果将@reglist不显示