我有一个对象,球,这belongs_to的一个女孩,其可以have_many球。一切工作的大部分,但如果我尝试打印出来的女孩的名字通过:

@balls.each do |b|
    b.girl.name
end

我得到以下错误:

"undefined method `name' for nil:NilClass"

这实际上混淆了我。如果我说b.girl.class,我把它作为女孩的实例,就好了。也就是说,它不是 “NillClass”。

不仅如此,如果我只是尝试任何球,并说

@ball.girl.name

我完全细

这是关于球的集合,被拧我?

编辑:

具体而言这是发生在我的视图。我现在做的测试,看看它是否发生在控制器了。

有帮助吗?

解决方案

您有Ball的一个实例,其不具有相关联的Girl。你要检查,以确保girl没有在访问她nil属性之前name

@balls.each do |b|
  b.girl.name unless b.girl.nil? 
end

其他提示

Dangit,没关系,没关系。问题是,由于某种原因,一些球对象实际上没有女生(尽管大多数人没有,这样任何给定的球我想工作的罚款,但如果我试图做所有的人,其中一人会失败,并认为错误只是让我知道出事了,不要在那里)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top