Ruby on rails 阵列平均轨道
我想在控制器中显示数组“temp”(即平均数组)的平均值,但不确定如何处理。我可以在控制器中使用作用域方法调用吗?或者我可以直接在控制器中执行吗 控制器Ruby on rails 阵列平均轨道,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我想在控制器中显示数组“temp”(即平均数组)的平均值,但不确定如何处理。我可以在控制器中使用作用域方法调用吗?或者我可以直接在控制器中执行吗 控制器 def show @soiltemp = Soiltemp.find(params[:id]) @data = CSV.open(@soiltemp.csv.path, :headers => true, :encoding => 'ISO-8859-1') dates = [] temp = []
def show
@soiltemp = Soiltemp.find(params[:id])
@data = CSV.open(@soiltemp.csv.path, :headers => true, :encoding => 'ISO-8859-1')
dates = []
temp = []
@data.each do |row|
dates << row[1]
temp << row[2].to_i
end
average = ?
@graph = LazyHighCharts::HighChart.new('graph') do |f|
f.title({ :text => @soiltemp.site + " Soil Temperatures" })
f.options[:xAxis][:categories] = dates
f.options[:plotOptions] = {pointInterval: 7.day * 7000}
f.series(:type => 'area', :name => 'Temperature', :data => temp, :color => '#00463f')
f.series(:type => 'spline',:name => 'Average', :data => average)
end
def显示
@soiltemp=soiltemp.find(参数[:id])
@data=CSV.open(@soiltemp.CSV.path,:headers=>true,:encoding=>ISO-8859-1)
日期=[]
温度=[]
@数据。每个do |行|
日期‘区域’,:名称=>‘温度’,:数据=>温度,:颜色=>'#00463f')
f、 系列(:type=>spline',:name=>Average',:data=>Average)
结束
average = temp.sum / temp.size.to_f