Ruby on rails rails 4发送“;“无缓存”;对于大多数(但不是所有)js和css资产

Ruby on rails rails 4发送“;“无缓存”;对于大多数(但不是所有)js和css资产,ruby-on-rails,ruby-on-rails-4,asset-pipeline,Ruby On Rails,Ruby On Rails 4,Asset Pipeline,我试图调试Rails4服务器的一个问题,其中几乎所有的JS和CSS资产都被发送到缓存控制头为“no Cache”的客户端。尽管正确地附加了摘要,但仍然存在这种情况 我不确定,但可能只有那些包含在其他资产中的资产才具有“no cache”头 那些没有“无缓存”的是(正确地)获取“public,max age=31536000” 对于包含的资产,我是否需要采取额外的步骤使它们使用正确的缓存控制指令?我不是Rails专家,也不是安装此特定服务器的人。只是在事后尝试调试问题 编辑以添加: 事实证明,正确

我试图调试Rails4服务器的一个问题,其中几乎所有的JS和CSS资产都被发送到缓存控制头为“no Cache”的客户端。尽管正确地附加了摘要,但仍然存在这种情况

我不确定,但可能只有那些包含在其他资产中的资产才具有“no cache”头

那些没有“无缓存”的是(正确地)获取“public,max age=31536000”

对于包含的资产,我是否需要采取额外的步骤使它们使用正确的缓存控制指令?我不是Rails专家,也不是安装此特定服务器的人。只是在事后尝试调试问题

编辑以添加:

事实证明,正确处理的JS文件(即“public,max age=31536000”)是在assets/javascripts/application.JS中明确列出的文件。此文件看起来像:

//= require jquery
//= require jquery_ujs
//= require dataTables/jquery.dataTables
//= require jquery-ui
//= require turbolinks
//= require_tree .
所有工作不正常的JS文件都位于表单的路径:

/assets/javascripts/dataTables/extras/file.js

发布您的rails环境配置是否检查了config/initializers/assets.rb中是否包含所有资产文件?如果在config/environments/production.rb中有config.action\u controller.perform\u caching=true,则它处于开发模式。我还在编辑问题,提供更多信息。我能够确定是什么导致某些资产“没有缓存”,而其他资产没有。确切地说,不是什么导致了它,而是哪些文件是“没有缓存”,哪些不是。回答Eugene的问题:1。assets.rb中没有明确列出的资产。不过,它们会被发送给客户,所以无论如何,它都会起作用。2.perform_caching在environments/development.rb中设置为“false”,服务器现在正在开发模式下运行。但是,有些资产仍然使用“Cache Control:public,max age=31536000”发送,因此perform_caching设置不会对所有资产产生同等影响。application.js中明确列出的每个资产都标记为可缓存,而从“require_树”中拉入的资产则设置为无缓存。