-1

我有一个在 Ruby 1.9.3p551 和 Rails 3.2.12 上运行的应用程序

每次我对代码进行更改时,我都需要重新启动 Ruby 来获取它们。我已将环境配置为开发环境,并在我设置的 config/environments/development.rb 文件中:

 config.cache_classes = false
 config.action_controller.perform_caching = false

但我仍然需要重新启动服务器。

我的操作系统是 Centos 7。

4

1 回答 1

1

进行更改时必须重新启动服务器的原因不是因为应用程序缓存。事实上,根据有用的 Rails 缓存指南,默认情况下甚至不会在开发/测试环境中进行缓存。您必须重新启动服务器的真正原因是因为启动服务器的工作之一是加载 Rails 应用程序代码。您对 Rails 应用程序文件所做的任何更改都不会更改当前加载的代码。因此,您需要通过重新启动服务器来重新加载代码。

但是,还有其他选择:名为 的 gemspring专门用于解决开发应用程序重新加载的问题(它作为 Rails 4 的标准 gem):

  • 全自动;无需显式启动和停止后台进程
  • 在每次运行时重新加载您的应用程序代码
  • 当 configs / initializers / gem 依赖改变时重启你的应用

这样,每次更改应用程序时都会重新加载应用程序

只需将其放入您的 Gemfile

gem "spring", group: :development

然后运行,

$ bundle install
$ bundle exec spring binstub --all

此外,请确保在浏览器中关闭缓存。

于 2014-11-30T20:36:03.903 回答