Rails는 _TO 협회에 속하며 컬렉션의 일부일 때 소유자의 속성에 액세스 할 수 없습니까?

StackOverflow https://stackoverflow.com/questions/2411040

  •  18-09-2019
  •  | 
  •  

문제

나는 물건, 공이 있는데, 그것은 공을 가지고있는 소녀에게 속한다. 모든 것이 대부분 작동하지만 다음을 통해 소녀의 이름을 인쇄하려고하면 다음과 같습니다.

@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