时间:类的未定义方法`days_in_a_month'

时间:2014-02-25 18:51:41

标签: ruby-on-rails ruby

我尝试了几件事,但我似乎无法找到找不到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上尝试它时,也没问题。我想我错过了什么,但我不知道是什么!

1 个答案:

答案 0 :(得分:2)

正确的语法没有a。正确的是

Time.days_in_month