Rails загружает контроллеры, помощники и модели по каждому запросу.
В моих контроллерах есть несколько модулей, которые включают методы для общих действий
Каждый раз, когда я меняю модули, мне приходится перезапускать Rails, чтобы изменения в действиях вступили в силу
Есть идеи, как я могу сказать рельсам перезагрузить эти модули?
Обновление:
Моя структура каталогов выглядит так:
app/
controllers/
app1/
users_controller.rb
app2/
users_controller.rb
lib/
templates/
controllers/
users_controller_template.rb
И App1 :: UsersController, и App2 :: UsersController загружают UsersControllerTeplate примерно так:
# app/controllers/app1/users_controller.rb
class App1::UsersController < App1::ApplicationController
require "templates/controllers/users_controller_template"
include Templates::Controllers::UsersControllerTemplate
end
# templates/controllers/users_controller_template.rb
module Templates::Controllers::UsersControllerTemplate
def self.included(base)
base.class_eval do
# some class macros called here
end
end
# actions defined here
def index
end
end
В application.rb я добавил:
config.autoload_paths += %W{ #{config.root}/lib/templates/ }
Но мне все еще нужно перезагрузить сервер, чтобы увидеть изменения, сделанные в users_controller_template.rb
Есть идеи?