TradeDailyAverage というモデルの DB テーブルがあります。date
(DateTime) & averageprice
(10 進数) 列があります
これを実行すると、 averageprice 属性を更新できません。
newaverage = TradeDailyAverage.find_or_initialize_by_date(date)
newaverage.update_attributes :averageprice => dailyaverage
さらに、これを実行すると、日付は表示されますが、Rails コンソールに平均価格が表示されません。空白としてのみ表示されます。
newaverage = TradeDailyAverage.find_or_initialize_by_date(date)
puts newaverage.averageprice
puts newaverage.date
平均価格を保存する前に何か特別なことをする必要はありますか?
参考までに、Rake タスク全体を以下に示します。
averages = Trade.where('date >= ?', 7.days.ago).average(:price, :group => "DATE_TRUNC('day', date - INTERVAL '1 hour')")
# Loops through each daily average produced above
averages.each do |date, avg|
# Converts the BigDecimal to Floating Point(?)
averagefloat = avg.to_f
# Rounds the Daily Average to only two decimal points
dailyaverage = number_with_precision(averagefloat, :precision => 2)
newaverage = TradeDailyAverage.find_or_initialize_by_date(date)
newaverage.update_attributes :averageprice => dailyaverage