尝试加载时,我在localhost:3000上始终收到以下错误消息
nil:NilClass的未定义方法“ <<”
提取的来源(第10行附近): 8 9 10 11 12 13
@cabins =Cabin.group(:ship_id).count
@cabins.each do |group|
@cabins_available <<group[1]
@cabins_available <<group[1]
end
puts @cabins_available
这是代码
class TravelagentController < ApplicationController
def index
@cruises = Cruise.all
@cruise_names = []
@cruises.each do |cruise|
@cruise_names <<cruise.name
end
@cabins =Cabin.group(:ship_id).count
@cabins.each do |group|
@cabins_available <<group[1]
@cabins_available <<group[1]
end
puts @cabins_available
puts @cruise_names
end
end
答案 0 :(得分:0)
欢迎来到stackoverflow。
请尝试从某人那里获取基本知识,以免您在这里被“欺负”(您可能在想),因为您的问题很基本,我知道每个人都从某个时候开始,但应该成为自我的一部分-思考而不是在此处发布。
如何诊断问题:
nil
是“无”,在红宝石中放置在NilClass
中,并且NilClass
的大多数方法都不是String
或Integer
或{{ 1}}类。因此,如果错误消息说Array
不是<<
的方法,则意味着您在假设是数组的对象上使用了此运算符,但它是nil
。>
现在,如果您看到第10行:nil
出现此错误,并且正在@@cabins_available <<group[1]
上使用运算符,该运算符应该是数组,但由于它是@cabins_available
并且是{ {1}},因为您之前没有声明过,所以应该声明它。
请尽量不要仅复制其他人的代码,否则您将无所适从。尝试研究一些您认为已实施的东西,至少足以理解它们。
解决方案:
nil