帮助程序中的Rails NoMethodError虽然在调试器中有效

时间:2012-06-18 15:35:42

标签: ruby-on-rails

错误:

undefined method `author' for nil:NilClass


在我的帮手中:

def last_updated(group)
  g = group.last_updated_version
  debugger
  g.author.name
end


如果我让last_updated(group)函数返回group.last_updated_version,则视图会按预期打印出我的对象:

#<Assets::Version:0x0000000747af48>


在上面显示的位置使用调试器,我可以提取名称

(rdb:1) g.author.name
"Administrator"

但是返回group.last_updated_version.author.name会导致错误。


任何人都可以告诉我为什么group.last_updated_version似乎返回我的对象​​,但是group.last_updated_version.author给了我nil:NilClass错误?

1 个答案:

答案 0 :(得分:0)

抱歉,傻问题。辅助器last_updated()用于循环。我的方法last_updated_version为它传递的一些组对象返回了nil,但不是第一个。调试器显然在第一个调试器上停止,因此它在调试器中工作,但随后在那之后传递的组中断了。