1

ユーザーがいます。ユーザーhave_many:organizations

私が行った場合:

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

短編小説:

各ユーザーから最初の組織の名前を見つけようとしています。

4

1 に答える 1

8

ユーザーの1人に組織がないため、organizations.firstはnilです。

あなたはこれを防ぐことができます

User.find(:all).select {|u| 
  u.organizations.first.name unless u.organizations.size == 0}
于 2010-08-17T17:11:27.437 に答える