1

我有用户。用户有很多:组织

如果我做:

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

因为您的一个用户没有任何组织,所以 organizations.first 为 nil

你可以通过这样做来防止这种情况

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