Rails:cache_classes =>虚假仍然缓存

时间:2014-01-23 23:54:32

标签: ruby-on-rails ruby-on-rails-3 caching

似乎cache_classes => false仍在缓存它们,我必须关闭并重新启动服务器以查看任何更改。有任何想法吗?我真的被困了,这是一个非常讨厌的问题。

我的development.rb看起来像这样:

Total::Application.configure do
  config.cache_classes = false
  config.whiny_nils = true
  config.threadsafe!
  # Add the fonts path
  config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
  # Precompile additional assets
  config.assets.precompile += %w( .svg .eot .woff .ttf )
  config.serve_static_assets = true
  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false
  # config.eager_load = false
  config.action_mailer.default_url_options = { :host => 'lvh.me:3000' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default :charset => "utf-8"
  config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com" # ETC
  }
  config.active_support.deprecation = :log
  config.action_dispatch.best_standards_support = :builtin
  config.active_record.mass_assignment_sanitizer = :strict
  config.assets.compress = false
  config.assets.debug = true
end

任何帮助都会很棒。感谢。

1 个答案:

答案 0 :(得分:0)

如果其他人遇到此问题,则解决方法是订单:config.threadsafe!必须在config.cache_classes之前。像这样重新排序以修复它:

...
config.threadsafe!
config.cache_classes = false
...

<强>更新

这只是因为config.threadsafe!这样做:

def threadsafe!
  @preload_frameworks = true
  @cache_classes      = true
  @dependency_loading = false
  @allow_concurrency  = true
  self
end

请参阅here了解线程安全的作用。