【问题标题】:Rails not reloading on each requestRails 不会在每个请求上重新加载
【发布时间】:2013-09-25 00:19:57
【问题描述】:

我一生都无法弄清楚这里的问题所在。有时当我生成一个应用程序重新加载工作时,有时它没有。但是一旦它不起作用(对于特定项目)。它永远不会适用于该项目。我什至在不同的机器上移动了代码,效果相同。所以这一定是某种配置问题,但我不知道在哪里

这是我的 development.rb(我也确保它在开发模式下运行)

EpochApp::Application.configure do
  config.cache_classes = false
  config.eager_load = false
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false
  config.action_mailer.raise_delivery_errors = false
  config.active_support.deprecation = :log
  config.active_record.migration_error = :page_load
  config.assets.debug = true
end

我也试过用“Thin”,也有同样的问题。

视图重新加载正常,但控制器和助手在没有服务器重新启动的情况下根本不会。我看到它提到打开线程安全会强制缓存类打开......所以我唯一能想到的另一件事是宝石可能会强制它打开,但我真的没有启用任何疯狂的宝石;大部分只是 JS 包含宝石

  gem 'rails', '4.0.0'
  gem 'sqlite3'
  gem 'sass-rails', '~> 4.0.0'
  gem 'mysql2'
  gem 'bcrypt-ruby'
  gem "aws-ses"
  gem 'stripe'
  gem 'compass-rails', github: 'milgner/compass-rails', branch: 'rails4'
  gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails', :github => 'anjlab/bootstrap-rails', :branch => '3.0.0'
  gem 'font-awesome-rails'
  gem 'bootstrap-datepicker-rails', :require => 'bootstrap-datepicker-rails', :git => 'git://github.com/Nerian/bootstrap-datepicker-rails.git'
  gem "american_date"
  gem 'bootstrap-timepicker-rails', :require => 'bootstrap-timepicker-rails', :git => 'git://github.com/tispratik/bootstrap-timepicker-rails.git'
  gem 'faker'
  gem "block_helpers"
  gem "select2-rails"
  gem 'uglifier', '>= 1.3.0'
  gem 'coffee-rails', '~> 4.0.0'
  gem 'jquery-rails'
  gem 'turbolinks'
  gem 'jquery-turbolinks'
  gem 'jbuilder', '~> 1.2'
  group :doc do
    gem 'sdoc', require: false
  end

我没有想法,每 30 到 40 秒就必须不断重启服务器,这非常烦人。

【问题讨论】:

  • config.cache_classes = false. 句号是偶然的吗?
  • 对不起,是的。当我发布它时,我把所有的 cmets ruby​​ 插件都去掉了,那一定是卡在那里了。实际配置中没有句号/句号。
  • 只是想我会检查 :)

标签: ruby-on-rails ruby configuration


【解决方案1】:

这可能是由 turbolinks gem https://github.com/rails/turbolinks/

引起的问题

Turbolinks 不会在每次请求时重新加载页面,它会保持当前页面“活动”并且只替换 html,这样,您的浏览器就不必重新编译所有 css 和 js 文件。当你有很多 css/js 文件时,它会更快。

【讨论】:

  • 该死,起初我认为这是一个绝妙的主意。我删除了宝石,但没有任何区别。大多数时候,我手动重新加载我正在处理的页面,这将绕过涡轮链接......不过,这是一个好主意。搜索继续。
  • 可能值得删除,然后依次重新添加每个宝石,看看它是否是其中之一......
猜你喜欢
  • 2015-05-06
  • 2011-03-17
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
  • 2015-11-13
相关资源
最近更新 更多