Javascript 第一次加载页面时,不会加载任何js文件

Javascript 第一次加载页面时,不会加载任何js文件,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,页面上有一个链接。当我点击它时,我确实会被重定向到另一个页面。但是第一次(当在另一个页面中引用链接时)没有加载js文件。一点也没有。只有当我手动重新加载它或在地址栏中键入链接时,所有js文件才会正常加载。但这是第一次——不是 它发生在开发和生产环境中。我怀疑缓存可能是一个原因,但一些js文件即使在重新加载后仍保持“304未修改”(尽管有些文件没有) 如果这很重要,我会使用TurboLink 怎么了?假设您正在使用资产管道,您可以尝试通过将config.assets.version设置为新的内容(

页面上有一个链接。当我点击它时,我确实会被重定向到另一个页面。但是第一次(当在另一个页面中引用链接时)没有加载js文件。一点也没有。只有当我手动重新加载它或在地址栏中键入链接时,所有js文件才会正常加载。但这是第一次——不是

它发生在开发和生产环境中。我怀疑缓存可能是一个原因,但一些js文件即使在重新加载后仍保持“304未修改”(尽管有些文件没有)

如果这很重要,我会使用TurboLink


怎么了?

假设您正在使用资产管道,您可以尝试通过将
config.assets.version
设置为新的内容(在config/application.rb中)来增加资产的版本。这将使您的所有现有资产过期,并强制您的浏览器(以及您所有用户的浏览器!)下载新资产。

如果您同时手动包含js文件和使用turbo_链接,则可以追加此内容。你应该发布你的js清单文件,布局文件和一个你有这个错误的视图,你的意思是,我可以增加它一次,然后运行服务器,它将始终使js加载?我的应用程序中甚至没有这个密钥。rbI不能保证总是在这里加载JS资产,只是它会迫使资产过期。这背后的机制是,嵌入在资产名称中的md5指纹将被重新灰化,因此在浏览器中看起来像新资产。如果发生了其他事情(即,如果这不是缓存资产的问题),那么我想这不会解决问题。您正在运行什么版本的rails?在4.1中,
config.assets.version
被移动到一个初始值设定文件(config/initiailzers/assets.rb),并被定义为例如
Rails.application.config.assets.version='1.0'
。请看一下这个,好吗。这件事把我难住了。只是你还不了解TurboLink的工作方式,是吗?希望你现在拿到了!