Rails:控制器和模型似乎在开发中缓存

时间:2012-08-13 09:53:17

标签: ruby-on-rails caching

我正在使用Rails 3.1并且已经开发了一年半。今天早上我必须做点什么,现在似乎很多我的文件似乎都被缓存了。这包括视图文件,控制器和模型。

我可以在模型,控制器等方面进行更改,它不会对我的应用程序产生任何影响(在localhost:3000上运行)。我试图切换端口(例如localhost:3005),但它没有用。

我没有更改任何配置文件或在我的计算机上进行任何大的更改(Mac,Lion),但显然我必须做点什么。

  • 我正在开发模式
  • 我在Mac上使用TextMate
  • 除404页等外,公用文件夹为空
  • 我删除了/ caches / assets-folder
  • 我删除了浏览器上的缓存

重启服务器让它始终有效!有时(很少很少)更改会在不重新启动的情况下生效。

这是我的开发.rb:

  # Settings specified here will take precedence over those in config/application.rb

  # In the development environment your application's code is reloaded on
  # every request. This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Raise exception on mass assignment protection for Active Record models
  config.active_record.mass_assignment_sanitizer = :strict

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
  config.active_record.auto_explain_threshold_in_seconds = 0.5

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true

可能发生了什么,我该如何解决或排除故障?

2 个答案:

答案 0 :(得分:2)

你可能没有看到你认为自己在看什么。最常见的原因:您在处理项目的副本而不是运行应用程序时正在查看的文件夹。

或者你弄乱了你的development.rb(config.cache_classes = false)。

缓存提示:此页面包含所有缓存技术。看一下有关页面缓存的内容(它甚至不通过Ruby堆栈运行)。

http://guides.rubyonrails.org/caching_with_rails.html

其他提示:将整个项目复制到新文件夹,因此操作系统的任何文件夹魔法都不会干扰。

开发日志是否没有透露任何有关正在发生的事情的提示?特别是如果你把som非法代码放在你的一个主要模型中(真的应该崩溃它)......

答案 1 :(得分:2)

我已经遇到了同样的问题。

在我的development.rb文件中添加以下行后,我的问题已经解决:

config.reload_classes_only_on_change = false

我不明白为什么这个缓存问题即将到来。两周内一切都比我遇到这个问题好。

我正在使用Textmate,也许......