Ruby on rails 应用程序中基于Monkeypatch gem的模型,确保在开发中重新加载,而不会使应用程序缓慢爬行?

Ruby on rails 应用程序中基于Monkeypatch gem的模型,确保在开发中重新加载,而不会使应用程序缓慢爬行?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我在gem中定义了一整套模型,并将其捆绑到Rails项目中。我希望能够使用app/models文件中的代码对这些模型类进行monkeypatch,并像往常一样在每次请求时重新加载app/models/* 我已经解决了上面的问题。我现在遇到的问题是,该解决方案使我的应用程序速度变慢——在开发模式下加载屏幕需要30-40秒,而不是一两秒钟。这是我现在在初始化器中得到的: model_init = lambda{ path = File.expand_path(File.dirname(__FIL

我在gem中定义了一整套模型,并将其捆绑到Rails项目中。我希望能够使用app/models文件中的代码对这些模型类进行monkeypatch,并像往常一样在每次请求时重新加载app/models/*

我已经解决了上面的问题。我现在遇到的问题是,该解决方案使我的应用程序速度变慢——在开发模式下加载屏幕需要30-40秒,而不是一两秒钟。这是我现在在初始化器中得到的:

model_init = lambda{ path = File.expand_path(File.dirname(__FILE__) + "../../../app/models") Dir.glob("#{path}/*.rb").each do |path| require path end } ActionDispatch::Callbacks.to_prepare(&model_init) 模型_init=lambda{ path=File.expand_path(File.dirname(_File__;)+“../../../app/models”) Dir.glob(“#{path}/*.rb”)。每个do|path| 需要路径 结束 } ActionDispatch::Callbacks.to_prepare(&model_init)
有人能告诉我如何加快速度吗?我使用的是Rails 3.1.3,但是如果3.2.0-rc1中的活动_重载功能可以解决这个问题,我很乐意升级。提前感谢您的帮助

Rails 3.1中有一个已知的bug-每个资产都会根据请求重新编译。因此,如果你的应用程序有很多资产,那么在开发模式下你的响应会很慢。这在3.2中已固定