我试图以长篇(7月)的数字显示数据,而不是数字。它给出了一个错误"未定义的方法`strftime' 7:Fixnum"。我不确定把它放在哪里,因为我是新手。
def show
@m = Model.all.order("date DESC")
@months_in_year = @m.group_by{|x| x.date.year}
@months_in_year.each_value {|months| months.map!{|m| m.date.month.strftime('%B')}.uniq!}
@all_months = @months_in_year.values.sort
respond_to do |format|
format.html { render :action => :show }
format.js
format.json { render :json => { :month => @all_months } }
end
end
答案 0 :(得分:1)
您之所以看到此错误,是因为strftime
适用于Date
,Time
和TimeWithZone
个对象。它不适用于整数。 TimeWithZone
班acts just like the ruby Time class。在.month
will return an Fixnum上致电TimeWithZone
。
@months_in_year.each_value {|months| months.map!{|m| m.date.strftime('%B')} }
应该为您提供您正在寻找的东西。