我希望这是一个非常快速的问题,因为我将代码推送到生产时发生了错误。 在开发中我使用SQLite,一切正常,但是当我推向生产并使用PostgreSQL时,我的代码中出现了错误。
从日志中看,它似乎来自我在数据库中转换日期输入的方式,以适应我的lazyhighcharts代码:
在SQLite中,这段代码完美无缺:
# Convert date to javascript format to work with Highcharts
for i in 0..@data_sorted.length-1
@data_sorted[i][0] = @data_sorted[i][0].strftime('%F')
@data_sorted[i][0] = Time.parse(@data_sorted[i][0]).utc.to_i*1000
end
但是我得到:" NoMethodError(未定义的方法`strftime' 2017:Fixnum):"
调整此代码以使用PostgreSQL的最佳方法是什么?
我也尝试过这种方法:
# Convert date to javascript format to work with Highcharts
for i in 0..@data_sorted.length-1
@data_sorted[i][0] = @data_sorted[i][0].to_s
@data_sorted[i][0] = Time.parse(@data_sorted[i][0]).utc.to_i*1000
end
并再次在SQLite中工作,但得到以下错误:ArgumentError(参数超出范围):
创建操作代码:
def create
@user = User.find( params[:user_id] )
@saving = @user.saving.build( saving_params )
respond_to do |format|
if @saving.save
format.html { redirect_to root_path, notice: 'Saving was successfully created.' }
format.json { render :show, status: :created, location: @saving }
else
format.html { render :new }
format.json { render json: @saving.errors, status: :unprocessable_entity }
end
end
end