我在lib文件夹中有如下的Module log_exception:
/lib/log_exception.rb
module LogException
def Log(e, message="")
Rails.logger.error "#{message}: #{e.message}"
e.backtrace[0..13].each {|line| Rails.logger.error line}
end
end
extend LogException
现在我尝试在此控制器中直接使用Log方法(将类模块作为模块扩展):
Log(e, "Error in home action of DashboardController")
但它给了我以下错误:
undefined method `Log' for #<DashboardController
我还在我的application.rb
中设置了以下内容config.autoload_paths += %W(#{config.root}/lib)
如果我在Model(User)的任何一个中扩展相同的模块,并调用与
相同的方法User.Log(e, "Error in home action of DashboardController")
然后它工作正常,但不是控制器。
我尝试了各种选择,但没有运气。
有人能解释我的错误吗?或者我如何在控制器中扩展模块?