每次进行更改时Rails服务器都会重新启动

时间:2012-12-07 11:07:47

标签: ruby ruby-on-rails-3

我有一个模块文件,我需要用于我的rails项目。当我对任何Rails模型,视图,控制器等进行更改时,服务器不需要重新启动。但是当我在该模块中进行更改时,我需要重新启动服务器。

module.rb不会从Rails类继承任何内容。

结构如下:

class_1.rb < class_2.rb includes module.rb

class_1.rb, class_2.rb are also not ActiveRecord classes。 它们都位于我的模型目录中。

我的config/enviroments/development.rb文件是正确的,因为它有:

  config.cache_classes = false

1 个答案:

答案 0 :(得分:1)

更新:对于rails 3.2.9,这应该是开箱即用的!
这是我尝试过的,无需重新启动服务器即可运行:

# ../models/a.rb
class A
  include SomeModule
  def test
    " test:a"
  end
end

# ../models/b.rb
class B < A
  def test
    super + " test:b"
  end
end

# ../models/some_module.rb
module SomeModule
  def call_test
    test + " test:module" 
  end
end

# ../controllers/home_controller.rb
class HomeController < ApplicationController
  def index
    @i = B.new.call_test
  end
end

当您的模块不在自动加载路径中时,您可以将它放在application.rb中:

# Autoload lib/ folder including all subdirectories
config.autoload_paths += Dir["#{config.root}/your_module_folder/**/"]