Ruby on rails 用于迭代数据的Helper方法
我创建了一个每日股票价格表,其中包含日期、开盘价、高价、低价和收盘价列 在视图中,我可以看到所有必要的数据,但我想尝试创建一个助手方法,该方法可以迭代一列,向我显示内容,然后创建total 我已经开始用代码创建助手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
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”相加等等,并生成一个总数,然后我将其展开以创建平均值和其他数据点。是的,我想总结所有值。我认为最好创建一个助手,因为我可以在上面展开以进一步操作定价数据。