2012-07-11 116 views
0

我遇到了rails 3.2/git的一个奇怪的bug。奇怪的错误发生在rails/git

在开发模式下,类未在请求(控制器,模型,帮助程序)之间重新加载,但视图正常工作。

我寻觅了很长一段时间在未修改的配置(application.rb中,development.rb ...)没有成功,我一定要重装薄显示改变。

所以我决定创建一个新的分支,并恢复提交的提交(我在想一个坏的更新/集成GEM)和代码重新加载正确上次提交!

回到主分支,代码可以在请求之间正确重新加载,而不需要更改任何代码。我正在运行Archlinux,ruby 1.9.3p194(rvm),postgresql 9.1.4,git 1.7.11.1,ext4 FS调优(UUID = ac74249f-84de-40d0-8b14-eb494983cfda/home ext4默认值,noatime ,数据回写=,阻隔= 0,nobh,错误=重新挂载-RO 0 1)

,你怎么看待这个问题?


这个bug永远不会回来,很难重现。我无法接受不确定的答案。

+2

我不知道足够的轨道来调试您的问题,但“通过提交回复提交”让我很难过。 [查找](http://git-scm.com/book/en/Git-Tools-Debugging-with-Git)'git bisect'。 [它会改变你的生活。](http://git-scm.com/book/en/Git-Tools-Debugging-with-Git) – Christopher 2012-07-11 15:07:39

+0

很酷的提示,谢谢! – m4tm4t 2012-07-11 16:11:59

回答

2

我认为你的问题与GIT无关,只有rails。

尝试把你的config /环境/ development.rb:

config.cache_classes = false 

这是导轨配置告诉它重新加载请求之间的类(如模型或控制器)。

只是可以肯定,运行Rails服务器:RAILS_ENV=development rails s

+0

我确定在100%时这不是导轨问题,因为环境配置没有受到影响,并且在创建新的git分支后问题消失。在这个问题上,环境发展良好 – m4tm4t 2012-07-11 16:01:29

0

也许问题是在fstab中noatime选项。如果时间戳没有被触及,那么轨道现在应该如何改变文件。您可以尝试删除该选项。