我的text_field中有日期格式,如下所示 - > 2014-11-14 20:45:00
我想在rails 4中输入我的数据库。如何在数据库列类型" datetime"?中轻松保存它。
我已尝试过以下方式,但似乎无法正常工作。
params[:task_assign][:task_assign_scheduled_on]=DateTime.civil(
params[:task_assign][:"task_assign_scheduled_on(1i)"].to_i,
params[:task_assign][:"task_assign_scheduled_on(2i)"].to_i,
params[:task_assign][:"task_assign_scheduled_on(3i)"].to_i,
params[:task_assign][:"task_assign_scheduled_on(4i)"].to_i,
params[:task_assign][:"task_assign_scheduled_on(5i)"].to_i)
答案 0 :(得分:1)
在posgres数据库中,实际上您的格式将被保存而无需进一步投射,但您可以尝试使用to_datetime如果有帮助
离
"2014-11-14 20:45:00".to_datetime
--> Fri, 14 Nov 2014 20:45:00 +0000
但这也不是将保存到您的数据库的格式,因此我告诉您直接保存您的格式没有错。
如果您尝试从数据库中获取日期时间列,它将如下所示:
Fri, 14 Nov 2014 14:44:03 UTC +00:00
我不知道这个数据库与另一个数据库的区别是否有所不同,或者有一些与activerecord有关的东西会自动处理它。
答案 1 :(得分:1)
ActiveRecord在保留记录时自动转换有效的DateTime字符串。保存到数据库的格式取决于您使用的数据库及其设置。通常,PG会将任何DateTime保存为UTC DateTime字符串。
如果要以特定格式保存DateTime,则需要更新数据库设置,或者只是将属性保存为字符串。