作者giive (lala)
看板Ruby
标题Cache Class
时间Thu Oct 26 19:36:10 2006
出自我的Blog
http://lightyror.blogspot.com/2006/10/cache-class.html
如果你看过 Ruby on Rails 的书,他上面会有说在 Development Mode 里面,Ruby on Rails 预设会auto reload class ,而不是将 class cache 住。这样的好处是你不需要重新 restart server ,方便开发时间。这个选项在 config/enviroments/xxxxx.rb 里面也可以手动修改设定
config.cache_classes = false
如果你要 cache class ,就把这个改成 true 即可。但是 Ruby on Rails 真的会 auto reload 所有的东西吗?结论似乎不是这样的。我开始开发时就发现,他只会 auto reload app/ 底下的 class ,所以所有的 config ,lib 之类的 class 有修改过都必须要重新启动 server 。
这样还好怎麽不麻烦,但是我今天又发现到,就算是 app/ 底下的 class ,也有一些不会 auto reload。今天有一个 Model Class ,他在 app/models/ 资料夹底下,他的 code 是这样的
class User < ActiveRecord::Base
end
当你修改他的档案内容,他会很正常的 auto reload。但是,同样是在 app/models/ 资料夹下,如果他的Class 并不继承 ActiveRecord ,像是这样
class User
end
很奇怪的是他居然不会 auto reload 这个 class ,而是会将他 cache 住。如果一不小心,就很容易 debug de 半天。
--
lighty RoR 是一个介绍 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.218.90.242