2014-07-07 63 views
0

我創建了一個包含日期,開盤,高點,低點,收盤點的日常股票價格表。輔助方法來迭代數據

在視圖中,我可以看到所有必要的數據,但我想嘗試創建一個可以遍歷一列的幫助器方法,向我顯示內容,然後創建總計。

我已經開始與代碼

def pricing 
    @daily_prices.each do |daily_price| 
    daily_price.close 
    end 

創建helper但這是要麼給我:

[#<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

可有人請指向這個方向是正確的。

感謝, 託尼

+4

你有沒有使用[局部模板考慮](http://guides.rubyonrails.org/v3.2.17/layouts_and_rendering.html#using-partials)爲此?這聽起來像是比輔助方法更合適。 –

+0

我已經創建了在應用程序中其他地方使用的部分定價,但我希望能夠提取定價數據,以便我可以操縱它來獲取總計,平均數等,我認爲最好的方法是做到這一點成爲幫手。 –

+0

你能更具體地表明你想展示什麼嗎?你可以使用一個例子,比如「我有10天的價格,我想看第一欄:價格,第二:股票名稱;最後一行:總和平均數」等。 – MrYoshiji

回答

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 
+0

是的,我想總結所有的價值觀。我認爲最好是創建一個幫手,然後再擴展它以進一步操縱定價數據。 –

+0

工作完美......謝謝 –