Rails 5 включает помощника в классе - PullRequest
0 голосов
/ 07 января 2020

Мы переходим с Rails 4.2 на 5.2. Следующий код прекрасно работает в 4.2, но не в 5

require 'action_view'

module OurModule
  class CheckReport
    include ActionView::Helpers::DateHelper

    def self.our_method
      start_time = Time.current
      LOGGER.info "OurModule::CheckReport.our_method finished in #{distance_of_time_in_words(start_time, Time.current)}"
    end
  end
end

Но в Rails 5 мы получаем:

NoMethodError: undefined method `distance_of_time_in_words' for OurModule::CheckReport:Class

Это происходит потому, что это методы класса, а не методы экземпляра .

Итак, почему он работал в Rails 4 (та же ruby версия - 2.4.9) и что мы можем сделать, чтобы это исправить (кроме создания всех этих методов экземпляра case?)

...