当我设置其中一个变量时,我正在尝试在控制器中执行Time.now
。发生的是当我显示它时我得到2000-01-01 10:44:11 -0500
的值。当我在视图中<%= Time.now %>
时,我得到正确的时间2014-03-05 11:39:17 -0500
。
这有什么理由吗?
这是我的控制器代码
def create_checkout_values
@checked_out = CheckedOut.new
@checked_out.bike_id=checked_out_params[:bike_id]
@checked_out.user=User.find_by_login(checked_out_params[:user_id])
@checked_out.time_of_checkout=Time.now
@bike = Bike.find_by_bike_id(@checked_out.bike_id)
if @bike != nil
@checked_out.problem = @bike.problem_description
@checked_out.fixed = @bike.need_repair
else
@checked_out.problem = ""
@checked_out.fixed = false
end
end
答案 0 :(得分:0)
您应该将time_of_checkout列的类型更改为datetime而不仅仅是time。 从您的代码看,您似乎真的想在那里存储日期+时间,而不仅仅是Time.now的时间部分(返回完整的日期和时间,而不仅仅是时间)。当你保存记录AR转换(意味着这里:吃日期)时只有完整的日期时间,这就是你看到2000年的日期