Как создать определенное время из консоли Rails?
У меня есть стол с Time
столбец типа данных, который хранит время от пользователей (через f.time_select
Форма помощника). Он отлично работает, когда я вводю время через форму, но я не могу создать объект времени из консоли rails irb с .create
или же .new
, Сообщение:
irb (основной):003:0> Sleep.create(часы: "1970-01-01 06:15:00") ПРЕДУПРЕЖДЕНИЕ О УСТАРЕВАНИИ: В Rails 5.1 столбцы времени станут осведомленными о часовом поясе. Это все еще вызывает
String
должны быть проанализированы, как если бы они были вTime.zone
, а такжеTime
с, которые будут преобразованы вTime.zone
,Чтобы сохранить старое поведение, вы должны добавить следующее в ваш инициализатор:
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
станет известно о часовых поясах в Rails 5.1. Это все еще вызывает
String
должны быть проанализированы, как если бы они были вTime.zone
, а такжеTime
с, которые будут преобразованы вTime.zone
,Чтобы сохранить старое поведение, вы должны добавить следующее в ваш инициализатор:
config.active_record.time_zone_aware_types = [:datetime]
Чтобы отключить это предупреждение об устаревании, добавьте следующее:
config.active_record.time_zone_aware_types = [:datetime, :time]
Я пытался добавить каждую из этих строк в config/application.rb
под class Application < Rails::Application
а затем попробуйте различные комбинации синтаксиса, чтобы создать время через 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
или же
Sleep.create(hours: "1970-01-01", "06:15:00")
irb(main):002:0> Sleep.create(hours: "1970-01-01", "06:15:00")
SyntaxError: (irb):2: syntax error, unexpected ')', expecting =>
urs: "1970-01-01", "06:15:00")
Что я делаю не так и как я могу создать определенное время из IRB?