Я пытаюсь передать массив времен, хранящихся в виде строк (["08:00:00", "18:00:00"]
), и вернуть их более читабельным способом с помощью вспомогательного метода.
Однако я продолжаю получать сообщение об ошибке аргумента в вспомогательном методе. Это очень странно для меня, потому что, если я удаляю Time.parse(time_slot)
и просто пытаюсь преобразовать время, используя time_slot.strftime("%I:%M %p")
, выдается ошибка undefined method `strftime' for "08:00:00":String
. Объект явно передается - я что-то не понимаю?
строка 4: часы << Time.parse (time_slot) .strftime ("% I:% M% p") <br>нет информации о времени в ""
код:
1: - I18n.t('date.day_names').each do |day|
2: - %w[starts ends].each_with_object([]) do |time_type, to_return|
3: - @hours = to_return << @facility.access_hours["#{time_type}_#{day.downcase}"]
4: - @hours.compact.tap do |hours|
5: = day
6: = hours
7: = time_helper(hours)
8: = byebug
(byebug) hours = ["08:00:00", "18:00:00"]
(byebug) time_helper(hours) = "08:00 AM - 06:00 PM"
вспомогательный метод
def time_helper(time)
hours = []
time.each do |time_slot|
hours << Time.parse(time_slot).strftime("%I:%M %p")
end
hours.join(' - ')
end