我有一个问题,在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时间转换为字符串datetime?
答案 0 :(得分:2)
x.each
返回x
,所以:
x = actions_by_type.each do |action|
[ action[:date].to_i, action[:activity] ]
end
相当于:
x = actions_by_type
您想使用map
代替each
:
@data = actions_by_type.map do |action|
[ action[:date].to_i, action[:activity] ]
end
答案 1 :(得分:2)
您应该使用.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
的结果将是actions_by_type
,而不是新数组。