从作为引擎安装的 gem 中重载 lib 文件

ton*_*all 2 ruby overloading ruby-on-rails ruby-on-rails-3

我正在使用作为引擎安装的 gem 并想自定义一些类。我要重载的文件位于我的本地 rvm 目录中

(rvmdir)/(gem)/lib/(modulename)/containers/file_to_override.rb
Run Code Online (Sandbox Code Playgroud)

我将文件复制到我的应用程序目录

(appdir)/lib/(modulename)/containers/file_to_override.rb 
Run Code Online (Sandbox Code Playgroud)

并定制了一些输出。

该文件看起来类似于:

module (Modulename)
  module Containers
    class FileToOverride << xxx
    ...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有超载。是否可以在我自己的应用程序中覆盖 lib 文件?

ton*_*all 5

如果我把文件放在/config/initializer/file_to_override.rb上面的内容中,它就可以工作。