Ruby on rails Rails json响应。整数转换为日期

Ruby on rails Rails json响应。整数转换为日期,ruby-on-rails,ruby,datetime,Ruby On Rails,Ruby,Datetime,我有一个问题,json中的响应数据。 下面是一个代码: @data [ actions_by_type.each do |action| [ action[:date].to_i, action[:activity] ] end ] respond_to do |format| format.json { render :json => @data } end 但回应是:

我有一个问题,json中的响应数据。 下面是一个代码:

@data  [
            actions_by_type.each do |action|
              [ action[:date].to_i, action[:activity] ]
            end 
        ]
respond_to do |format|
      format.json { render :json => @data }
    end
但回应是:

...{"date":"2013-04-29T20:20:00Z","activity":"87"}...

为什么rails将我的int-time转换为字符串datetime?

x。每个
返回
x
,因此:

x = actions_by_type.each do |action|
  [ action[:date].to_i, action[:activity] ]
end
相当于:

x = actions_by_type
您想使用
映射
而不是
每个

@data = actions_by_type.map do |action|
  [ action[:date].to_i, action[:activity] ]
end 

x.each
返回
x
,因此:

x = actions_by_type.each do |action|
  [ action[:date].to_i, action[:activity] ]
end
相当于:

x = actions_by_type
您想使用
映射
而不是
每个

@data = actions_by_type.map do |action|
  [ action[:date].to_i, action[:activity] ]
end 

您应该使用
.map
而不是
.each

@data = actions_by_type.map do |action|
            [ action[:date].to_i, action[:activity] ]
        end 

respond_to do |format|
    format.json { render :json => @data }
end

使用
.each
时,
@data
的结果将是
类型的操作,而不是新数组。

您应该使用
.map
而不是
。each

@data = actions_by_type.map do |action|
            [ action[:date].to_i, action[:activity] ]
        end 

respond_to do |format|
    format.json { render :json => @data }
end
使用
。每个
@data
的结果将是
操作,而不是新数组