为PostgreSQL调整Strftime

时间:2017-02-27 01:22:49

标签: ruby-on-rails postgresql sqlite

我希望这是一个非常快速的问题,因为我将代码推送到生产时发生了错误。 在开发中我使用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

0 个答案:

没有答案