Rails belongs_to关联,在集合的一部分时无法访问所有者的属性?

我有一个对象,球,属于一个女孩,可以有很多球。 一切都有效,但如果我尝试通过以下方式打印出女孩的名字:

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

我收到以下错误:

 "undefined method `name' for nil:NilClass" 

这让我很困惑。 如果我说b.girl.class,我把它作为Girl的一个实例,就好了。 也就是说,它不是“NillClass”。

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

 @ball.girl.name 

我很好。

什么是关于一系列让我搞砸的球?

编辑:

具体来说,这种情况发生在我看来。 我现在正在测试,看它是否也发生在控制器中。

你有一个没有相关GirlBall实例。 在访问她的name属性之前,您需要检查以确保girl不是nil

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

Dangit,好吧,没关系。 问题在于,由于某种原因,一些Ball Object实际上并没有女孩(尽管大多数都是这样,所以我试过的任何给定的Ball工作得很好,但是如果我试图做所有这些,其中一个会失败,并且视图错误只让我知道出了什么问题,而不是在哪里)