首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于迭代数据的助手方法

用于迭代数据的助手方法
EN

Stack Overflow用户
提问于 2014-07-07 14:32:00
回答 1查看 77关注 0票数 0

我创建了一个每日股票价格表,其中包括日期,打开,高,低,关闭。

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

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

代码语言:javascript
复制
    def pricing
    @daily_prices.each do |daily_price|
    daily_price.close
    end

但这要么给了我这个

代码语言:javascript
复制
    [#<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

有人能不能指出正确的方向,因为我正在努力使我的头在创建方法,然后在视图中显示它们。

谢谢你,托尼

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-07 14:54:56

你是说总结所有的价值吗?

也许你可以在控制器里计算出来

代码语言:javascript
复制
@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]}"

或者只是在视野中去做

代码语言:javascript
复制
= @daily_prices.map(&:close).sum

或者找个帮手

代码语言:javascript
复制
def total_close(daily_prices)
  value = 0.0
  @daily_prices.each do |daily_price|
    value += daily_price.close
  end
  return value
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24613092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档