Ruby on rails 动态清除rails缓存

Ruby on rails 动态清除rails缓存,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在开发rails应用程序,其中我使用ruby 1.9.2和rails 3.0.8。我的应用程序在开发环境中运行得很好,包括从应用程序创建表和访问表 但当我在启用缓存的生产环境中启动应用程序时,一切都正常工作,我无法访问使用应用程序创建的表。重新启动服务器后,我可以访问这些表,这很痛苦 我正在寻找一种方法,每当创建新表时,我都可以清除缓存,您能帮我动态清除缓存吗 谢谢 Naveen Kumar Madipally这将降低您在生产中的性能,但您可以做的是创建production.rb文件并检查吹

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

但当我在启用缓存的生产环境中启动应用程序时,一切都正常工作,我无法访问使用应用程序创建的表。重新启动服务器后,我可以访问这些表,这很痛苦

我正在寻找一种方法,每当创建新表时,我都可以清除缓存,您能帮我动态清除缓存吗

谢谢
Naveen Kumar Madipally

这将降低您在生产中的性能,但您可以做的是创建
production.rb
文件并检查吹气管线

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

我想它会解决您的问题

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


在中有这样的抽象:它是在开发环境中用来重新加载类的东西

因此,基本上,您需要运行:

ActionDispatch::Reloader.cleanup!
ActionDispatch::Reloader.prepare!
不过,我不确定这是否是一个好主意,因为您无法预料哪些代码(您的代码或来自gems的代码)只会执行一次


您不能使用而不是动态创建表吗?

Rails 3.0.8具有YAML/XML远程代码执行漏洞。看到了吗?你已经修补好了,不是吗?嗨,梅基,谢谢你的评论,请让我知道我应该把上面的陈述放在哪里。
ActionDispatch::Reloader.cleanup!
ActionDispatch::Reloader.prepare!