从我的.each循环中获取一个流氓迭代

我只是在轨道上学习ruby并大致遵循本指南: http : //guides.rubyonrails.org/getting_started.html

我有关于成就结果的循环(指南示例中的注释):

Completed results ()

ID:

Success:

User:


这是在成就的展示视图中,当我加载该视图时,我看到循环的额外迭代,其结果字段为空值。 即使数组是[](使用rails控制台检查以确保数组为空),也会发生这种情况。

成就模式:

 class Achievement  :destroy end 

你有一个像@achievement.achievement_results.build在某处调用的行(也许是控制器,或者某种forms的某种forms?)。 这可以解释为什么count返回一个不同的数字(因为count不像size那样缓存)以及为什么值为null。

如果你有这条线,将它改为AchievementResults.new(:achievement => @achievement)可能会让你AchievementResults.new(:achievement => @achievement)