Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 阵列平均轨道_Ruby On Rails_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 阵列平均轨道

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 = []

我想在控制器中显示数组“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