我创建了一个每日股票价格表,其中包含日期,开盘价,最高价,最低价,收盘价。
在视图中我可以看到所有必要的数据,但我想尝试创建一个辅助方法,可以迭代一列显示内容然后创建总数。
我已经开始使用代码
创建帮助器 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: #
或只显示最近的价格。
例如1.0
任何人都可以指出正确的方向,因为我正在努力开始创建方法,然后在视图中显示它们。
谢谢, 贝
答案 0 :(得分:1)
您的意思是总结所有价值观吗?
可能是你可以在控制器中计算它
@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