Ruby on rails 时间默认为“时间”;2000-01-01 21:14:00 UTC“;在rails 4应用程序中

Ruby on rails 时间默认为“时间”;2000-01-01 21:14:00 UTC“;在rails 4应用程序中,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我是rails新手,正在开发应用程序。 在我的表格中,我希望达到的默认时间(EST时间)不正确,虽然有一个下拉框供用户选择正确的日期和时间,但它会恢复为“2000-01-01 21:14:00 UTC” 有什么建议可以避免这种情况吗 当前我的作业\u controller.rb如下所示: def new @job = Job.new(:date => Time.now, :date_of_loss => Time.now, :sign_date => Time.now, :

我是rails新手,正在开发应用程序。 在我的表格中,我希望达到的默认时间(EST时间)不正确,虽然有一个下拉框供用户选择正确的日期和时间,但它会恢复为“2000-01-01 21:14:00 UTC”

有什么建议可以避免这种情况吗

当前我的作业\u controller.rb如下所示:

  def new
@job = Job.new(:date => Time.now, :date_of_loss => Time.now, :sign_date => Time.now, :time_called_in => Time.now)
end

您可能已经在迁移中将这些列创建为
:time
列。如果要保存一天中的时间和日期,则需要一个datetime列

令人困惑的是,尽管ruby
Time
被用来表示一个时间点(从这个角度来看,它与sql中的
DateTime
类非常相似(但在实现方面非常不同)),但
Time
列是不同的,它意味着一天中没有日期的非实体时间(例如下午4点的概念)


Ruby没有一个针对时间的内置类,因此rails选择使用时间实例来表示这些类。由于日期部分被忽略,因此它被设置为任意日期,恰好是2000年1月1日

您的问题缺少一些信息,例如,“默认时间”是什么意思,您什么时候观察到“返回”的,您当前的代码是什么样子的?@PeterSorowka我需要将其默认为EST我需要在迁移中更改类型吗?如何解决此问题。我可以简单地在控制器中添加一些内容吗?例如Time.zone.now.utc?您确实需要将列的类型更改为:datetime)。最简单的方法是创建一个迁移来完成此更改谢谢你会尽快开始我很感激你回到meSorry成为一个麻烦我已经生成了一个迁移,目前我的代码如下:class ChangeDateFormatInJobsTable