问题描述
|
我有一个带有Apache,Passenger和Rails常规堆栈的EC2实例。该应用程序正在生产中运行,因此Javascript文件被缓存到一个“ 0”文件中。
乘客被配置为使用PassengerPreStart指令预启动应用程序实例。
有时,由Rails在ѭ2created中创建的
all.js
具有错误的权限,对于部署用户来说是0600
。应该是4英镑,以便Apache可以提供文件(它们在同一组中,www-data)。
您对为什么会发生这种情况有任何解释吗? ѭ5和Rails的资产缓存是否存在任何已知问题?
解决方法
我很确定这是由于资产后面的时间戳。如果您查看资源,则资产/文件后的数字就是一个时间戳,我认为浏览器会感到困惑,或者是rails将其弄乱了。
您将时间戳记的默认值更改为空字符串,但将以下代码放置在Rails应用程序中的某个位置。
/application.rb
ENV[RAILS_ASSET_ID] = \"\"
这会将其设置为空字符串。看看情况如何。