Rails는 _TO 협회에 속하며 컬렉션의 일부일 때 소유자의 속성에 액세스 할 수 없습니까?
-
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, 알았어, 신경 쓰지 마. 문제는 어떤 이유로 어떤 이유로 일부 공 개체는 실제로 소녀가 없다는 것이 었습니다. 어디에도 뭔가 잘못되었다고 알려주세요)
제휴하지 않습니다 StackOverflow