5

每次我对代码进行更改时,我都必须重新启动服务器,否则它不会改变输出。

我尝试过使用瘦和 webrick。

我的development.rb文件说“ config.cache_classes = false”。

我正在使用 RubyMine。

有时我的视图会更新,但模型永远不会更新。

您还需要知道什么来帮助我解决此问题吗?

编辑:

我现在远离我的编码机,但我开始思考。我在 app/models 目录中有一个名为 makeandwich.rb 的文件,并且 app/models/Lesson.rb 调用了该文件中的一个函数。我一直在对makesandwich.rb 文件进行更改,但它没有重新加载。我需要添加该文件还是应该将其自动包含在重新加载中?

4

3 回答 3

11

我最近也遇到了这个问题。正如其他人所说,这可能是由设置配置引起的。cache_classes 或 config.threadsafe!为真,这在大多数情况下可能是问题所在。

但是,我的问题是由在 VM 上运行 rails 引起的。我的代码存储在我的主机上的一个文件夹中,然后将其安装到 VM 上。不幸的是,我的主机的时钟时间与虚拟机不同步。这是我修改代码时会发生的情况:

  1. 我会在主机上的文本编辑器中更改一些代码
  2. 保存代码会将文件的修改时间设置为我的主机的当前时间
  3. 从 VM 的角度来看,这次是未来
  4. 当文件更新检查器查找修改后的文件时,它忽略了我的文件,因为修改日期是将来的日期

同样,这可能是非常罕见的情况,但是如果您在 VM 上运行 rails,则值得检查一下

于 2014-07-10T22:56:06.917 回答
0

如果您正在处理 Rails 3 项目,您可能会发现 Zeus 很有帮助。它跟踪项目中的文件,并仅重新加载内存中更改的代码。它使 REPL 在 Rails 3 开发中变得更快。

https://github.com/burke/zeus

于 2013-01-04T18:34:43.973 回答
0

问题是我将一个函数放在一个单独的文件中并在那里编辑该函数。这对于生产来说可以正常工作,但出于开发目的,我将函数放回 Lesson.rb 文件中,并且刷新开始正常工作。

于 2013-01-09T13:05:20.313 回答