Ruby on rails 如何从Rails控制台创建特定时间?
我有一个带有Ruby on rails 如何从Rails控制台创建特定时间?,ruby-on-rails,time,timezone,ruby-on-rails-5,Ruby On Rails,Time,Timezone,Ruby On Rails 5,我有一个带有Timedata-type列的表,它存储来自用户的时间(通过f.Time\u选择form-helper)。当我通过表单输入时间时,它可以正常工作,但是我无法使用.create或.new从rails irb控制台创建时间对象。信息是: irb(主):003:0>睡眠。创建(时间:“1970-01-01 06:15:00”) 不推荐使用警告:Rails中的时间列将具有时区意识 5.1. 这仍然会导致对字符串s进行解析,就像它们在时区中一样,并且时间s转换为时区 要保留旧的行为,必须将以下
Time
data-type列的表,它存储来自用户的时间(通过f.Time\u选择form-helper)。当我通过表单输入时间时,它可以正常工作,但是我无法使用.create
或.new
从rails irb控制台创建时间对象。信息是:
irb(主):003:0>睡眠。创建(时间:“1970-01-01 06:15:00”)
不推荐使用警告:Rails中的时间列将具有时区意识
5.1. 这仍然会导致对字符串
s进行解析,就像它们在时区
中一样,并且时间
s转换为时区
要保留旧的行为,必须将以下内容添加到
初始值设定项:
config.active_record.time_zone_aware_types = [:datetime]
config.active_record.time_zone_aware_types = [:datetime]
要使此弃用警告静音,请添加以下内容:
config.active_record.time_zone_aware_types = [:datetime, :time] (called from irb_binding at (irb):3) DEPRECATION WARNING: Time columns
config.active_record.time_zone_aware_types = [:datetime, :time]
将在Rails 5.1中实现时区感知。这仍然会导致String
s
被解析为好像它们在时区
,而时间
将被
转换为时区
要保留旧的行为,必须将以下内容添加到
初始值设定项:
config.active_record.time_zone_aware_types = [:datetime]
config.active_record.time_zone_aware_types = [:datetime]
要使此弃用警告静音,请添加以下内容:
config.active_record.time_zone_aware_types = [:datetime, :time] (called from irb_binding at (irb):3) DEPRECATION WARNING: Time columns
config.active_record.time_zone_aware_types = [:datetime, :time]
我试图将这些行添加到类应用程序
下的config/application.rb
中,然后尝试不同的syntaxis组合通过irb创建时间,比如Sleep.create(hours:“1970-01-01”,“06:20:00”)
我也得到了这样的结果:
Loading development environment (Rails 5.0.2)
irb(main):001:0> irb(main):003:0> Sleep.create(hours: "1970-01-01 06:15:00")
SyntaxError: (irb):1: syntax error, unexpected ':', expecting end-of-input
irb(main):003:0> Sleep.create(hours: "19
或
我做错了什么?如何从irb中创建特定的时间?查看的可能重复项查看的可能重复项