更改ruby模块而无需重新启动rails应用程序

时间:2010-07-05 19:53:46

标签: ruby-on-rails

在我的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 个答案:

答案 0 :(得分:2)

在开发过程中,它应该重新加载每个访问权限。 在生产模式下,您可以通过修改

关闭缓存
config/environments/production.rb

将以下行更改为false。

config.cache_classes = false

然后重新启动应用程序。

重新加载更改而不重新启动服务器。


更新 您可以尝试load而不是require

load 'services/test.rb'