我正在使用rails应用程序,我正在使用ruby 1.9.2和rails 3.0.8。我的应用程序在开发环境中运行得非常好,包括从应用程序创建表并访问它们。
但是当我在启用了缓存的生产环境中启动我的应用程序时,每件事情都运行正常,我无法访问我使用我的应用程序创建的表。我可以在重新启动服务器后访问这些表,这很痛苦。
我正在寻找一种方法,我可以在创建新表时清除缓存,是否可以帮助我动态清除缓存。
由于 Naveen Kumar Madipally
答案 0 :(得分:0)
这会降低您的制作效果,但您可以做的是production.rb
文件并检查打击线
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
我想它会解决你的问题
答案 1 :(得分:0)
一种解决方法是在您的环境/ production.rb中执行此操作(生产时根本不建议这样做)
config.cache_classes = false
答案 2 :(得分:0)
在ActionDispatch::Reloader中有一些抽象:它是在开发环境中用来重新加载类的。
基本上,你需要运行:
ActionDispatch::Reloader.cleanup!
ActionDispatch::Reloader.prepare!
我不确定它会是一个好主意,因为你不能指望哪些代码(你的或来自宝石)做的事情应该只发生一次。
你不能使用STI而不是动态创建表吗?