Rails 5在课堂上包括了助手

我们正在从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实例方法之外)?

aiaiai5 回答:Rails 5在课堂上包括了助手

看到有些人来这里寻找答案,我就是这样做的:

require 'action_view'

module OurModule
  class CheckReport

    def self.our_method
      start_time = Time.current
      LOGGER.info "OurModule::CheckReport.our_method finished in #{ActionController::Base.helpers.distance_of_time_in_words(start_time,Time.current)}"
    end
  end
end
本文链接:https://www.f2er.com/2811107.html

大家都在问