Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 用于迭代数据的Helper方法_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 用于迭代数据的Helper方法

Ruby on rails 用于迭代数据的Helper方法,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我创建了一个每日股票价格表,其中包含日期、开盘价、高价、低价和收盘价列 在视图中,我可以看到所有必要的数据,但我想尝试创建一个助手方法,该方法可以迭代一列,向我显示内容,然后创建total 我已经开始用代码创建助手 def pricing @daily_prices.each do |daily_price| daily_price.close end 但这要么给了我这个: [#<DailyPrice id: 1, stock_id: 1, dat

我创建了一个每日股票价格表,其中包含日期、开盘价、高价、低价和收盘价列

在视图中,我可以看到所有必要的数据,但我想尝试创建一个助手方法,该方法可以迭代一列,向我显示内容,然后创建total

我已经开始用代码创建助手

    def pricing
    @daily_prices.each do |daily_price|
    daily_price.close
    end
但这要么给了我这个:

    [#<DailyPrice id: 1, stock_id: 1, date: "2014-07-06", open: #<BigDecimal:7fd97d107328,'0.1E1',9(36)>, high: #<BigDecimal:7fd97d107148,'0.2E1',9(36)>, low: #<BigDecimal:7fd97d106e50,'0.5E0',9(45)>, close: #<BigDecimal:7fd97d106b58,'0.15E1',18(45)>, created_at: "2014-07-06 18:28:02", updated_at: "2014-07-06 18:28:02">, #<DailyPrice id: 2, stock_id: 2, date: "2014-07-06", open: #<BigDecimal:7fd97d10f000,'0.1E2',9(36)>, high: #<BigDecimal:7fd97d10ee20,'0.12E2',9(36)>, low: #

[#,#您的意思是总结所有值吗

也许你可以在控制器中计算它

@daily_prices = DailyPrice.where(...).to_a
@totals = {
  close: @daily_prices.map(&:close).sum,
  open:  @daily_prices.map(&:open).sum,
  high:  @daily_prices.map(&:high).sum
}

# in view
= "Total is #{@totals[:close]}"
或者只是在眼前做

= @daily_prices.map(&:close).sum
或者做个帮手

def total_close(daily_prices)
  value = 0.0
  @daily_prices.each do |daily_price|
    value += daily_price.close
  end
  return value
end

你有没有考虑过使用a来实现这一点?听起来它比助手方法更合适。我已经创建了应用程序中其他地方使用的部分定价,但我希望能够提取定价数据,以便我可以对其进行操作以获得总数、平均数等,我认为最好的方法是使用助手。你能吗你可以用一个例子,比如“我有当天的10个价格,我想在第一栏看到:价格,第二栏:股票名称;最后一行:总计和平均值”目前在我看来,我有按日期列出的价格,显示开盘价、高点、低点和收盘价。价格列表可以长达数百个记录,即数月内每天的价格。我希望能够将所有“收盘”价格“1.45”+“3.78”相加等等,并生成一个总数,然后我将其展开以创建平均值和其他数据点。是的,我想总结所有值。我认为最好创建一个助手,因为我可以在上面展开以进一步操作定价数据。