Как создать определенное время из консоли 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?

0 ответов

Другие вопросы по тегам