2010-07-05 121 views
2

在我的rails应用程序中,我拥有需要并包含在控制器中的模块。 问题是:我必须重新启动应用程序,每次我在这些模块进行任何更改。 任何解决方案?在不重新启动rails的情况下更改ruby模块应用程序


包括模块

#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

请编辑您的问题,包括显示您如何在控制器中包含模块的代码。 – 2010-07-05 20:52:51

回答

2

在发展,它应该重新加载每次访问。 在生产模式下,你可以通过修改

config/environments/production.rb 

更改以下行假关闭缓存。

config.cache_classes = false 

然后重新启动应用程序。

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


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

load 'services/test.rb' 
+0

不,这发生在开发模式 – 2010-07-06 11:59:01

+0

我更新了答案。随着'负载',它每次都会重新加载。 – OmniBus 2010-07-07 10:33:13

+0

它工作!谢谢 – 2010-07-09 00:16:07

相关问题