NoMethodError: неопределенный метод `seconds_to_utc_offset 'для # <ActiveSupport :: TimeZone> - PullRequest
0 голосов
/ 30 апреля 2018

Я использую time_zone и seconds_to_utc_offset. Я получаю эти результаты:

ActiveSupport::TimeZone.country_zones('gl').first.utc_offset
#=> -14400

ActiveSupport::TimeZone.country_zones('gl').first.seconds_to_utc_offset -14400
#>> NoMethodError: undefined method `seconds_to_utc_offset' for #<ActiveSupport::TimeZone:0x0000000a0e7a68>

Почему говорится, что его не существует, когда оно существует? Даже завершение вкладки для этого метода работает.

1 Ответ

0 голосов
/ 30 апреля 2018

Разница в том, что вы пытаетесь вызвать метод в экземпляре класса ActiveSupport::TimeZone.

Но метод реализован как метод класса ActiveSupport::TimeZone:

ActiveSupport::TimeZone.seconds_to_utc_offset(-21_600) # => "-06:00"

Так что вы можете назвать это так:

offset = ActiveSupport::TimeZone.country_zones('gl').first.utc_offset
ActiveSupport::TimeZone.seconds_to_utc_offset(offset)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...