我有以下模型结构。 ClassType有很多程序,程序有很多类。
我正在尝试获取类类型的所有新类:
def new_classes
programs.reduce { |count, program| count + program.classes.new_classes.count }
end
我不断收到此错误消息:
undefined method `+' for #<Program:0x00000003535518>
有什么问题?
答案 0 :(得分:3)
如果没有明确指定备忘录的初始值,那么集合的第一个元素将用作备忘录的初始值。
您需要提供count
的初始值,否则它将是第一个元素(类Program
):
def new_classes
programs.reduce(0) { |count, program| count + program.classes.new_classes.count }
end