Rails / Date: не использовать `to_time` для объектов Date - PullRequest
0 голосов
/ 16 ноября 2018

Итак, я перевел ERB на Slim и столкнулся с проблемами с линтером. Я получаю

Rails / Date: не используйте to_time для объектов Date, потому что они ничего не знают о часовом поясе

Код на самом деле:

=@product.updated_at.to_time.strftime('%B %e @ %l:%M %p')

Данные на самом деле: 2018-11-16 12: 40: 20.12345. Я думал просто попытаться использовать .zone.today. Что приводит к

неопределенный метод `today 'для" EDT ": String

Так что я подумал, что буду использовать .current / .current.strftime ('% B% e @% l:% M% p'), и это приведет к

неопределенный метод `current 'для обеих попыток

Я зашел в мой application.rb и убедился, что у меня есть:

config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 28 января 2019

В какой-то момент работы я получил несколько ошибок (например: "неопределенный метод 'strftime' для \" 2019-01-25T18: 40: 25.536Z \ ": String \ nВы имели в виду? Strip" ) , используя ...updated_at.strftime и некоторые предупреждения Rubocop с to_time, поэтому я решил мои проблемы без предупреждений только с to_datetime.

0 голосов
/ 16 ноября 2018

Кажется, вы должны просто сделать:

@product.updated_at.strftime('%B %e @ %l:%M %p')

Если я сделаю это на одной из моих записей, я получу:

"November 12 @  9:26 AM"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...