加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么Rails不会在每个请求上刷新类(尽管配置)

发布时间:2020-12-16 20:07:23 所属栏目:百科 来源:网络整理
导读:我最近开始不得不每次更换代码时重新启动我的开发服务器.我的development.rb文件还有这样一行: config.cache_classes = false 我尝试使用调试器验证这个值是否已经停留.为此,我将配置设置为environment.rb中的全局变量: $my_initializer = Rails::Initiali
我最近开始不得不每次更换代码时重新启动我的开发服务器.我的development.rb文件还有这样一行:
config.cache_classes = false

我尝试使用调试器验证这个值是否已经停留.为此,我将配置设置为environment.rb中的全局变量:

$my_initializer = Rails::Initializer.run do |config|
  ...
end

那么我在我的一个控制器中放置一个调试器,所以我可以这样做:

(rdb:2) $my_initializer.configuration.cache_classes
false

因此,消除了cache_classes的值在其他地方设置为true的可能性.我尝试使用Mongrel和WEBrick,它仍然发生.

还有什么可能导致Rails不要每次请求重新加载我的代码?

我在跑步:
蒙古人1.1.5
WEBrick 1.3.1
Rails 2.3.8
Ruby 1.8.7 p253

编辑:
在@Daemin的建议中,我检查了当我将文件保存在我的文本编辑器(Textmate)中时,我的文件的mtime实际上已经更新了

merced:controllers lance$ls -l people_controller.rb 
-rwxr-xr-x  1 lance  staff  2153 Act 10 18:01 people_controller.rb

然后我修改并保存文件:

merced:controllers lance$ls -l people_controller.rb 
-rwxr-xr-x@ 1 lance  staff  2163 Oct 11 12:03 people_controller.rb

所以这不是mtimes的问题.

解决方法

如果有其他人有这个问题,解决方案是这样的命令:config.threadsafe!必须在config.cache_classes之前.重新排序这样来修复它:
...
config.threadsafe!
config.cache_classes = false
...

答案:Rails: cache_classes => false still caches

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读