清除rails缓存动态

我正在使用rails应用程序,我正在使用ruby 1.9.2和rails 3.0.8。 我的应用程序在开发环境中运行得非常好,包括从应用程序创建表并访问它们。

但是当我在启用了缓存的生产环境中启动我的应用程序时,每件事情都运行正常,我无法访问我使用我的应用程序创建的表。 我重启服务器后能够访问这些表,这很痛苦。

我正在寻找一种方法,我可以在创建新表时清除缓存,是否可以帮助我动态清除缓存。

谢谢Naveen Kumar Madipally

一种解决方法是在您的环境/ production.rb中执行此操作(在生产时根本不建议这样做)

config.cache_classes = false 

这会降低您的生产性能,但您可以做的是production.rb .rb文件,并检查打击线

  config.consider_all_requests_local = true config.action_controller.perform_caching = false 

我想它会解决你的问题

ActionDispatch :: Reloader中有抽象:它是在开发环境中用于重新加载类的内容。

所以基本上,你需要运行:

 ActionDispatch::Reloader.cleanup! ActionDispatch::Reloader.prepare! 

但是,我不确定它会是一个好主意,因为你不能指望哪些代码(你的或来自gem)做的事情应该只发生一次。

难道你不能使用STI而不是动态创建表吗?