2010-08-17 3 views
1

사용자가 있습니다. 사용자 have_many : 내가 할 경우 조직어떻게 작동하며 IRB에서 작동하지 않습니까?

:

User.find(:all).select {|u| u.organizations.first.name } 

가 함께 반환 짧은 ​​

NoMethodError: You have a nil object when you didn't expect it! 
The error occurred while evaluating nil.name 
from (irb):33 
from (irb):33:in `select' 
from (irb):33 

긴 이야기 :

내가에서 처음 조직의 이름을 찾기 위해 노력하고있다 각 사용자.

답변

8

organizations.first이

전무하므로 사용자 중 한 어떤 조직을 가지고 있지 않기 때문에 당신은

User.find(:all).select {|u| 
    u.organizations.first.name unless u.organizations.size == 0} 
을 수행하여이 문제를 방지 할 수 있습니다
관련 문제