我尝试了几件事,但我似乎无法找到找不到Time::days_in_a_month
的原因。
我正在尝试计算一年中每一天的注册量,这是代码:
require 'date'
require 'time'
class GraphicsController < ApplicationController
def year_graph(year=2013)
data=calculate_signups(year)
gon.data=data
end
def calculate_signups(year)
#binding.pry
month_days=(1..12).map{|x| Time.days_in_a_month(x,year)}
total_yeardays=month_days.sum
year_sum=Array.new
day_sum={day:0,yearday:0,num:0}
afee=User.clients.year(year)#.month(month)
month_days.each_with_index do |mindex,mdays|
(1..mdays).each do |d|
day_fees=afee..month(mindex).day(d)
dia=day_sum.dup
suma=day_fees.length
dia[:day]=d
dia[:num]=suma
dia[:yearday]=Date.new(year,mindex,d).yday
year_sum << dia
end
end
year_sum
end
end
如果我在调试器pry
中尝试(请参阅binding.pry
行),则没有问题。当然,当我在控制台rails c --sandbox
上尝试它时,也没问题。我想我错过了什么,但我不知道是什么!
答案 0 :(得分:2)
正确的语法没有a
。正确的是
Time.days_in_month