Ruby on rails 对象的命名器

Ruby on rails 对象的命名器,ruby-on-rails,ruby,rspec2,Ruby On Rails,Ruby,Rspec2,这是密码 #add email of team lead of the current user def add_the_tl_email(to_address, session_user_id) ul = UserLevel.find_by_user_id(session_user_id) if !ul.team.nil? && !ul.role.nil? User.user_status('active').joins(:user_leve

这是密码

  #add email of team lead of the current user
  def add_the_tl_email(to_address, session_user_id)
    ul = UserLevel.find_by_user_id(session_user_id)
    if !ul.team.nil? && !ul.role.nil?
      User.user_status('active').joins(:user_levels).where(:user_levels => {:position => 'tl', 
                                                      :role => ul.role, 
                                                      :team => ul.team }).each do
        |u| to_address << u.email 
      end
    end
  end
在rails控制台中,ul.team.nil?对工厂生成的测试数据返回true或false

由于团队是用户级别的字段,为什么规范中会出现错误,如:NoMethodError: nil:NilClass的未定义方法“team”


谢谢。

问题在于
nil.team
不是一种方法*

NoMethodError:
   undefined method `team' for nil:NilClass
也就是说,
ul
的计算结果为
nil
:在检查
ul.nil?
之前,先检查
ul.team.nil?
。。。但可能想找出查找失败的原因;-)

快乐编码



*这就是真正的错误消息所说的,帖子的标题是垃圾:-/

问题是
nil。team
不是一种方法*

NoMethodError:
   undefined method `team' for nil:NilClass
也就是说,
ul
的计算结果为
nil
:在检查
ul.nil?
之前,先检查
ul.team.nil?
。。。但可能想找出查找失败的原因;-)

快乐编码


*这就是真正的错误消息所说的,帖子的标题是垃圾:-/

调用

 ul = UserLevel.find_by_user_id(session_user_id)
返回
nil
,因此
nil
被分配给
ul

你打电话来的时候

!ul.team.nil?
Ruby试图在
nil
上调用
team
nil
NilClass
的一个实例,在
NilClass
上没有名为
team
的方法

 ul = UserLevel.find_by_user_id(session_user_id)
返回
nil
,因此
nil
被分配给
ul

你打电话来的时候

!ul.team.nil?

Ruby试图在
nil
上调用
team
nil
NilClass
的一个实例,在
NilClass
上没有名为
team
的方法。请写一个有意义且相关的标题。如果该
nil.team
不是一个方法,那么问题就来了。请写一个有意义且相关的标题。如果该
nil.team
不是一种方法,则会出现问题。