为什么设置action\u controller.perform\u caching=true会中断javascript?

为什么设置action\u controller.perform\u caching=true会中断javascript?,javascript,ruby-on-rails,Javascript,Ruby On Rails,在我的环境文件中,设置: config.action_controller.perform_caching = true 导致根本不加载javascript 我使用的唯一javascript_include_标记位于三个不同的视图文件中,声明如下: = javascript_include_tag 'jquery.timeago', 'application', 'rails_custom', :cache => 'common' = javascript_include_tag 'ap

在我的环境文件中,设置:

config.action_controller.perform_caching = true
导致根本不加载javascript

我使用的唯一javascript_include_标记位于三个不同的视图文件中,声明如下:

= javascript_include_tag 'jquery.timeago', 'application', 'rails_custom', :cache => 'common'
= javascript_include_tag 'application', 'rails_custom', :cache => 'common'
= javascript_include_tag 'jquery.validity.pack', 'jquery.timeago', 'application', 'rails_custom', :cache => 'common'
但是第一个和第三个请求从未包含在同一个请求中

在上面的环境中设置变量后,当点击应用程序时,会发出对common.js的请求,服务器会返回该请求,但Firefox给出了一个语法错误,声称文件的很大一部分不是函数


在什么情况下,缓存会导致javascript文件的组合无效?

AFAIK您不能对不同的文件集使用相同的缓存名称。否则,它将在每个请求中不断被覆盖。

感谢您的帮助-我没有意识到这一点,尽管这并不是这里发生的问题:((原来只有一个以上的include标记被处理过)“jquery.validity.pack”的包含至少给Firefox和Chrome中的JavaScript编译器带来了问题。将其重新定位在“jquery.timeago”之后和“application”之前似乎可以解决这个问题。