【发布时间】:2011-07-15 14:29:15
【问题描述】:
我是一名前 PHP 开发人员,学习 Rails 和 Sinatra。在 PHP 中,每个页面请求都会加载所有必需的文件。如果我更改了一些代码并刷新了页面,我可以确定代码是新鲜的。
在 Rails 3 中,控制器代码在每次请求时都是新鲜的。但是,如果我修改 /lib 文件夹中的任何代码,我需要重新启动服务器才能使更改生效。
为什么会这样?这与 Ruby 的设计方式有关吗? Rails 是否进行了一些优化以避免在每个请求上重新加载代码?
谢谢!
编辑:我最感兴趣的是引擎盖下发生的事情。像 Rails 和 Sinatra 这样的框架会为类做一些特殊的缓存吗?如果是这样,他们会做什么? Ruby 中的默认行为是在每次请求时重新加载所有代码吗?为什么我们需要 Shotgun for Sinatra (http://sinatra-book.gittr.com/#automatic_code_reloading) 之类的工具?
【问题讨论】:
-
我还没有看到这个问题。也许您正在更改的代码仅在 Rails 启动时加载(例如配置参数)
标签: ruby-on-rails ruby caching sinatra