我有一个rails 3引擎。在初始化程序中,它需要来自某个文件夹的一堆文件。在这个文件中,我的引擎的用户定义了代码、业务逻辑、配置引擎等。所有这些数据都静态存储在我的引擎主模块中(在应用程序属性中)
module MyEngine
class << self
def application
@application ||= MyEngine::Application.new
end
end
end
我希望在开发模式下的每个请求上重新加载这些文件。(这样用户就不必重新加载服务器来查看他刚刚所做的更改)当然我可以做这样的事情而不是初始化程序
config.to_prepare do
MyEngine.application.clear!
load('some/file')
end
但是这样我会遇到问题(因为这个文件中定义的常量不会真正重新加载)。
理想的解决方案是让我的整个引擎在每次请求时都可以重新加载,但还没有找到方法。