замена модулей ruby ​​без перезапуска приложения rails - PullRequest
2 голосов
/ 05 июля 2010

В моем приложении rails у меня есть модули, которые необходимы и включены в контроллеры.Проблема в том, что мне нужно перезапускать приложение каждый раз, когда я делаю какие-либо изменения в этих модулях.Любые решения?


Пример

включенный модуль

#rails_application/lib/services/test.rb

module Services
  module TestService
    def start
      'Service started successfully'
    end
  end
end

контроллер

#rails_application/app/controllers
class TestController < ApplicationController

  require 'services/test.rb'
  include Services::TestService

  def index
   render :text => start
  end

end

1 Ответ

2 голосов
/ 06 июля 2010

В процессе разработки он должен перезагружаться при каждом доступе.В рабочем режиме вы можете отключить кэш, изменив

config/environments/production.rb

Измените следующую строку на false.

config.cache_classes = false

И перезапустите приложение.

Это перезагрузитизменения без перезагрузки сервера.


Обновление Вы можете попробовать load вместо require.

load 'services/test.rb'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...