我试图得到产品表中的价格平均值并将其存储在一个名为平均值的变量中。Rails每个都做平均
继承人我的代码:
def index
@products = Product.all
@average = 0
@i = 0
@products.each do |p|
i += 1
average += p.price
end
average = average/i
end
即时得到错误 “未定义的方法'+”近亲:NilClass” 上的 “I + = 1个语句”
感谢。我以为你必须用@符号声明所有的变量。我是一个试图学习ruby的java程序员 – user1352609
啊,有道理。我相信你知道区别,但是为了其他人阅读的目的:'@'表示一个实例变量,即一个存在于整个对象范围内的变量。使用的另一种类型的变量(sans-'@')仅在最“本地”范围内可用。但正如我所说,这是计算平均值的一种非常低效的方式,但这是一个好的开始。 –