2010-06-04 124 views
0

在工作中,我们已经在那里当运行只要代码没有改变,Ruby on Rails是否可以缓存控制器?

script/server 

,那么所有的控制器代码被缓存的情况。这是为了加速 开发服务器。但是这意味着只要我们更改 控制器代码,我们就需要重新启动服务器。

因此,我们可以关闭控制器代码的缓存。但是 不可能会有机制类似于JavaScript的包容

foo.js?1275647624 <--- UNIX timestamp 

的是,只要没有更改代码, 使用缓存的版本,但重新编译时有代码的变化?

也许是因为我们使用HAML和SASS很多,加载一些页面(如 主页的站点)可以采取在开发环境40秒它 很长。

+0

Woah ...一页40秒? – Jeriko 2010-06-04 10:42:00

+0

仅供参考,您的JS/css URL中'?timestamp'的用途是强制客户端浏览器重新请求文件不要使用本地缓存版本。 – 2010-06-04 14:09:19

+0

控制器,模型和助手(基本上是你的应用程序目录)是在每个请求的基础上加载的,模块/库通常被缓存,甚至在开发时也需要服务器重启。 – 2010-06-04 14:11:04

回答

1

默认情况下,Rails会为开发环境中的每个请求重新加载类。这应该确保任何更改都被提取出来。在生产环境中运行时通常只缓存类,或者可能在设置了临时环境的情况下。

显然我不知道你的应用程序,但40秒加载开发的主页听起来很长时间。日志中是否有错误?