Я разрабатываю веб-приложение на Rails 2.3.5.Я определил модуль в папке lib / следующим образом.
module TestModule
class Basic < ApplicationController
def show
p "module method"
end
end
end
, и пути load_path описаны в environment.rb для этой библиотеки следующим образом
Rails::Initializer.run do |config|
config.load_paths += %W[ #{RAILS_ROOT}/lib/test_module ]
end
, но временно я хочупереопределите вышеуказанный метод без редактирования метода lib.Итак, я поместил метод переопределения в «config / initializers / override_show.rb» следующим образом.
require_dependency "lib/test_module/basic.rb"
module TestModule
class Basic
def show
p "new method"
end
end
end
без «require_dependency», я получаю ошибку, потому что оригинальный метод, расположенный в папке lib /, не былне загружен, поэтому я поставил «require_dependency» перед переопределением TestModule.
В вышеприведенном коде новый метод работает нормально только один раз после активации сервера.Однако новый метод никогда не вызывается снова, а старый метод вызывается.Когда я перезагружаю сервер rails, новый метод вызывается только один раз.
Пожалуйста, дайте мне несколько советов о том, как переопределить метод в папке lib.Заранее большое спасибо.