0

我注意到,当我require "digest/sha1"在模型顶部包含密码散列时,每次我在我的应用程序中进行一些更改时,我都必须重新启动服务器才能看到更改。

这有点烦人,并且大大减慢了开发速度,尤其是对于像我这样的初学者。

我在某个地方看到require_dependency "digest/sha1"它应该可以工作,但它对我不起作用(说没有文件错误)。

我什至不确定该放在哪里,require_dependency因为我没有找到任何示例。

应该有一些方法可以使它工作,因为这是很常见的问题,也许我只是在寻找错误的地方。

谢谢

编辑 :

我得出的结论是,当我的 Ubuntu 机器进入睡眠状态时会出现错误。唤醒后,本地服务器(尝试瘦和 WEBrick)给出该错误。

编辑 :

它与 Ubuntu 睡眠无关。我有一个名为的函数hash,每次都会出错,抱怨它的参数数量错误,但该函数从未被调用。

所以,我将它重命名为encrypt,现在它正在工作,但我不能 100% 确定它是解决方案,我必须测试更多。

如果可以,那将是一个奇怪的错误,我将发布答案。

4

2 回答 2

0

在开发模式下,默认情况下,请求之间会重新加载app/或重新加载任何内容。config/routes.rb如果您没有发生这种情况,则可能不是由需求引起的。您更有可能无意中关闭了重新加载。

我之前digest/sha1在很多项目中都使用过,从来没有遇到过这个问题,通常将它包含在使用它的 User 模型中。

你能在一个全新的 Rails 项目中复制这个问题吗?如果删除那条线,问题会消失吗?如果是这样,那就太奇怪了。

于 2012-04-17T18:49:53.877 回答
0

如果你删除require "digest/sha1"所有工作正常?无论如何
检查 config.cache_classes = falseconfig/environments/development.rb

于 2012-04-19T23:32:26.827 回答