Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用缓存JavaScript资产的浏览器,尽管它们在Rails 3.1中被修改_Javascript_Ruby On Rails_Ruby_Coffeescript - Fatal编程技术网

使用缓存JavaScript资产的浏览器,尽管它们在Rails 3.1中被修改

使用缓存JavaScript资产的浏览器,尽管它们在Rails 3.1中被修改,javascript,ruby-on-rails,ruby,coffeescript,Javascript,Ruby On Rails,Ruby,Coffeescript,我刚刚将我的应用程序升级到Rails 3.1。我有一个相当复杂的JavaScript代码库,并选择将其连接到单个.js.coffee文件中,由链轮编译。每隔一段时间,我就会对我的一个CoffeeScript文件进行更改,刷新页面,并注意到我的更改没有反映出来。查看Chrome调试器,我注意到没有从服务器读取文件(“网络”选项卡在相应的文件上显示“(来自缓存)”。这似乎是随机发生的,这使得它的发展非常非常令人沮丧。我找到的唯一解决方案是清除浏览器缓存或重新启动浏览器 有什么想法吗?我尝试在java

我刚刚将我的应用程序升级到Rails 3.1。我有一个相当复杂的JavaScript代码库,并选择将其连接到单个.js.coffee文件中,由链轮编译。每隔一段时间,我就会对我的一个CoffeeScript文件进行更改,刷新页面,并注意到我的更改没有反映出来。查看Chrome调试器,我注意到没有从服务器读取文件(“网络”选项卡在相应的文件上显示“(来自缓存)”。这似乎是随机发生的,这使得它的发展非常非常令人沮丧。我找到的唯一解决方案是清除浏览器缓存或重新启动浏览器


有什么想法吗?我尝试在javascript_include_标记调用中打开:debug,但得到了相同的结果。事实上,当我有多个标记时,似乎唯一返回(从缓存)的资产就是我更改的那些!这是一个讽刺。

Chrome提供了一个选项,可以在其开发人员工具中禁用缓存。转到“设置”,在“网络”下,应该有一个复选框来禁用缓存。

我无法复制。我刚刚创建了一个新的Rails 3.1项目,然后就完成了

rails generate controller welcome index
已删除
index.html
,未注释

root :to => 'welcome#index'
routes.rb
,添加了行

console.log 1
welcome.js.coffee
,然后启动Chrome并加载
http://0.0.0.0:3000/
。我在控制台上看到
1
。将号码更改为
2
,保存、刷新页面,并获得
2
。等等无论我是按Cmd+R还是只在地址中键入,似乎都无关紧要;不管怎样,我都能得到最新的
welcome.js
服务

你能帮我“查看来源”吗?您的脚本是否包含类似的内容

<script src="/assets/welcome.js?body=1" type="text/javascript"></script> 


还是不一样?

你有没有试着按住shift键并点击reload?我认为这应该在不命中缓存的情况下重新加载页面。Chrome 19和Rails 3.2仍然存在问题。即使缓存控制头包含must revalidate,页面也会从缓存中提供(有时)。是的,这是您指定的。这个问题只是偶尔发生,但当它发生时,它是彻头彻尾的恼人。目前,我一直在使用浏览器中的硬刷新(Shift+Cmd+R)来强制重新加载所有缓存的资源,这似乎起到了作用。@Teejay-Huh。那么,您的项目是否可能正在执行任何可能导致缓存资产的操作(即,当请求文件时,服务器将给出“304 Not Modified”)?你的档案中有没有可能有这种效果?