清除rails缓存动态

时间:2013-09-13 11:01:43

标签: ruby-on-rails ruby

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

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

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

由于 Naveen Kumar Madipally

3 个答案:

答案 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而不是动态创建表吗?