首页 > 解决方案 > 数组在 rails 控制台中显示值。但是在日志中为 nil:NilClass 返回未定义的方法 `[]'

问题描述

我有一个返回数组的辅助方法

def site
  return Website::SITE.collect!{ |arr| arr if arr[1] != 'site_builder' }
end

Website::SITE 在控制台中返回数组

我在视图中调用此方法。

- site.each do |menu|
    tr
      td= menu[0]

这里它给出了 ActionView::Template::Error (未定义的方法 `[]' for nil:NilClass):

标签: ruby-on-rails

解决方案


如果你没有将方法放在 helpers 文件夹中而是直接放在控制器中,那么你必须在方法之后添加一行代码才能使其工作。

def site
  return Website::SITE.collect!{ |arr| arr if arr[1] != 'site_builder' }
end
helper_method :site

这应该修复错误


推荐阅读